以下无特殊说明,都是在 Node 节点运行
1. 创建文件 vim /opt/k8s/cfg/kubelet.conf,内容如下:
KUBELET_OPTS="--logtostderr=true --v=4 --address=192.168.137.82 --hostname-override=192.168.137.82 --kubeconfig=/opt/k8s/cfg/kubelet.kubeconfig --experimental-bootstrap-kubeconfig=/opt/k8s/cfg/bootstrap.config --cert-dir=/opt/k8s/ssl --allow-privileged=true
--cluster-dns=10.10.10.2 --cluster-domain=cluster.local --fail-swap-on=false --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0"
注意: --kubeconfig 指定的文件是自动生成的。
2.创建文件 vim /usr/lib/systemd/system/kubelet.service ,内容如下
[Unit] Description=Kubernetes Kubelet After=docker.service Requires=docker.service [Service] EnvironmentFile=/opt/k8s/cfg/kubelet.conf ExecStart=/opt/k8s/bin/kubelet $KUBELET_OPTS Restart=on-failure KillMode=process [Install] WantedBy=multi-user.target
3. 创建文件 vim /opt/k8s/cfg/kube-proxy.conf , 内容如下:
KUBE_PROXY_OPTS="--logtostderr=true --v=4 --hostname-override=192.168.137.82 --kubeconfig=/opt/k8s/cfg/kube-proxy.kubeconfig"
4. 创建文件 vim /usr/lib/systemd/system/kube-proxy.service ,内容如下
[Unit] Description=Kubernetes Proxy After=network.target [Service] EnvironmentFile=-/opt/k8s/cfg/kube-proxy.conf ExecStart=/opt/k8s/bin/kube-proxy $KUBE_PROXY_OPTS Restart=on-failure [Install] WantedBy=multi-user.target
5. 启动
systemctl daemon-reload systemctl enable kube-proxy systemctl restart kube-proxy systemctl status kube-proxy
6. 在 Master 节点运行
kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
7. 在 Node 节点启动
systemctl start kubelet
8. 在 Master 节点运行下面的命令,可以查看有哪些请求证书
kubectl get csr
9. 然后运行命令允许 kubectl certificate approve XXXXX
10. 再次查看,可以看到状态已经是 Approved
11. 在另外一台机器(192.168.137.83)上做和上面同样的操作,注意修改上面配置文件中的 IP 地址。
12. 最后可以看到有两个节点