Kubernetes系列之二:将Slave节点加入集群
系列链接Kubernetes系列之一:在Ubuntu上快速搭建一个集群DemoKubernetes系列之二:将Slave节点加入集群Kubernetes系列之三:部署你的第一个应用程序到k8s集群Kubernetes系列之四:使用yaml文件创建deployment来部署一个应用程序到k8s集群Kubernetes系列之五:使用yaml文件创建service向外暴露服务Ku...
·
系列链接
Kubernetes系列之一:在Ubuntu上快速搭建一个集群Demo
Kubernetes系列之三:部署你的第一个应用程序到k8s集群
Kubernetes系列之四:使用yaml文件创建deployment来部署一个应用程序到k8s集群
Kubernetes系列之五:使用yaml文件创建service向外暴露服务
Kubernetes系列之六:安装k8s通用的Web UI(Dashboard)
将Slave节点加入集群
创建另一台虚拟机,本文这里机器名称为kube-slave-3。你需要用root账户登录,执行su,输入root的密码,切换到root账户下
su
增加新的Node节点到你的集群的命令如下:
kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>
- <master-ip>:<master-port> ,本文这里对应得是192.168.29.137:6443
- token,一般token两天就过期了,如果过期了你需要重新创建(查看token命令是kubeadm token list,创建token命令是kubeadm token create),如下:
root@ubuntu:/home/cong# kubeadm token list
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
u2oywj.j0hwpq6lgv41roic <invalid> 2018-08-03T02:56:16-07:00 authentication,signing The default bootstrap token generated by 'kubeadm init'. system:bootstrappers:kubeadm:default-node-token
root@ubuntu:/home/cong# kubeadm token create
5w6qwh.8n0ektfrjdct3ib4
- --discovery-token-ca-cert-hash,通过如下命令就可以得到
root@ubuntu:/home/cong# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
af9e070ea723dd2281c2ae2414c932832a012d40bc55dc9c747bb00e68602388
最后得到的join 命令如下:
kubeadm join 192.168.29.137:6443 --token 5w6qwh.8n0ektfrjdct3ib4 --discovery-token-ca-cert-hash sha256:af9e070ea723dd2281c2ae2414c932832a012d40bc55dc9c747bb00e68602388
执行它后,等待数秒,在master节点上运行kubectl get nodes就可以看到该节点被加上了。如下:
root@ubuntu:/home/cong# kubectl get nodes
NAME STATUS ROLES AGE VERSION
kube-slave Ready <none> 3d v1.11.1
kube-slave-3 Ready <none> 2m v1.11.1
ubuntu-master Ready master 3d v1.11.1
至此,slave 节点就被成功加入了。但如果我想删这个节点怎么办呢?执行下面两步就可以了。
kubectl drain <node name> --delete-local-data --force --ignore-daemonsets
kubectl delete node <node name>
效果如下:
root@ubuntu:/home/cong# kubectl drain kube-slave-3 --delete-local-data --force --ignore-daemonsets
node/kube-slave-3 cordoned
WARNING: Ignoring DaemonSet-managed pods: canal-47vnh, kube-proxy-b4zds
root@ubuntu:/home/cong# kubectl delete node kube-slave-3
node "kube-slave-3" deleted
root@ubuntu:/home/cong# kubectl get nodes
NAME STATUS ROLES AGE VERSION
kube-slave Ready <none> 3d v1.11.1
ubuntu-master Ready master 3d v1.11.1
现在,你已经初步掌握的基本的kubenetes的用法,接下来将重点练习kubectl。
更多推荐
已为社区贡献2条内容
所有评论(0)