Kubernetes系列之二:将Slave节点加入集群

释放双眼,带上耳机,听听看~!

系列链接

Kubernetes系列之一:在Ubuntu上快速搭建一个集群Demo

Kubernetes系列之二:将Slave节点加入集群

Kubernetes系列之三:部署你的第一个应用程序到k8s集群

Kubernetes系列之四:使用yaml文件创建deployment来部署一个应用程序到k8s集群

Kubernetes系列之五:使用yaml文件创建service向外暴露服务

Kubernetes系列之六:安装k8s通用的Web UI(Dashboard)

Kubernetes系列之N:使用K8s遇到的问题

将Slave节点加入集群

创建另一台虚拟机,本文这里机器名称为kube-slave-3。你需要用root账户登录,执行su,输入root的密码,切换到root账户下


1
2
1su
2

增加新的Node节点到你的集群的命令如下:


1
2
1kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>
2
  • <master-ip>:<master-port> ,本文这里对应得是192.168.29.137:6443

  • token,一般token两天就过期了,如果过期了你需要重新创建(查看token命令是kubeadm token list,创建token命令是kubeadm token create),如下:


1
2
3
4
5
6
7
8
9
1root@ubuntu:/home/cong# kubeadm token list
2TOKEN                     TTL         EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS
3u2oywj.j0hwpq6lgv41roic   &lt;invalid&gt;   2018-08-03T02:56:16-07:00   authentication,signing   The default bootstrap token generated by &#x27;kubeadm init&#x27;.   system:bootstrappers:kubeadm:default-node-token
4
5
6root@ubuntu:/home/cong# kubeadm token create
75w6qwh.8n0ektfrjdct3ib4
8
9
  • –discovery-token-ca-cert-hash,通过如下命令就可以得到


1
2
3
1root@ubuntu:/home/cong# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2&gt;/dev/null | openssl dgst -sha256 -hex | sed &#x27;s/^.* //&#x27;
2af9e070ea723dd2281c2ae2414c932832a012d40bc55dc9c747bb00e68602388
3

最后得到的join 命令如下:


1
2
1kubeadm join 192.168.29.137:6443 --token 5w6qwh.8n0ektfrjdct3ib4 --discovery-token-ca-cert-hash sha256:af9e070ea723dd2281c2ae2414c932832a012d40bc55dc9c747bb00e68602388
2

执行它后,等待数秒,在master节点上运行kubectl get nodes就可以看到该节点被加上了。如下:


1
2
3
4
5
6
7
1root@ubuntu:/home/cong# kubectl get nodes
2NAME            STATUS     ROLES     AGE       VERSION
3kube-slave      Ready      &lt;none&gt;    3d        v1.11.1
4kube-slave-3    Ready      &lt;none&gt;    2m        v1.11.1
5ubuntu-master   Ready      master    3d        v1.11.1
6
7

至此,slave 节点就被成功加入了。但如果我想删这个节点怎么办呢?执行下面两步就可以了。


1
2
3
1kubectl drain &lt;node name&gt; --delete-local-data --force --ignore-daemonsets
2kubectl delete node &lt;node name&gt;
3

 效果如下:


1
2
3
4
5
6
7
8
9
10
11
1root@ubuntu:/home/cong# kubectl drain kube-slave-3 --delete-local-data --force --ignore-daemonsets
2node/kube-slave-3 cordoned
3WARNING: Ignoring DaemonSet-managed pods: canal-47vnh, kube-proxy-b4zds
4root@ubuntu:/home/cong# kubectl delete node kube-slave-3
5node &quot;kube-slave-3&quot; deleted
6root@ubuntu:/home/cong# kubectl get nodes
7NAME            STATUS     ROLES     AGE       VERSION
8kube-slave      Ready      &lt;none&gt;    3d        v1.11.1
9ubuntu-master   Ready      master    3d        v1.11.1
10
11

现在,你已经初步掌握的基本的kubenetes的用法,接下来将重点练习kubectl。

给TA打赏
共{{data.count}}人
人已打赏
安全运维

故障复盘的简洁框架-黄金三问

2021-9-30 19:18:23

安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索