环境准备(三台机器)
设置 hostname(k8s1 为 master,其余为 node):
hostnamectl set-hostname --static k8s1 # 在对应机器上执行
所有机器配置 /etc/hosts:
192.168.7.176 k8s1
192.168.7.125 k8s2
192.168.7.123 k8s3
安装 Docker(可选,默认使用 containerd):
apt-get install -y docker.io
安装 Master
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
# 指定使用 Docker:
# curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="server --docker" sh -
查看节点和 token:
kubectl get node -o wide
cat /var/lib/rancher/k3s/server/token
安装 Node
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \
INSTALL_K3S_MIRROR=cn \
K3S_URL=https://k8s1:6443 \
K3S_TOKEN=<token> sh -
kubectl Tab 补全
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
部署 nginx Demo
mkdir -p k3s/nginx && cd k3s/nginx
nginx-deployment.yml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:alpine
ports:
- containerPort: 80
nginx-service.yml:
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 30080
type: NodePort
kubectl create -f nginx-deployment.yml -f nginx-service.yml