【kubernetes 系列3】集群扩容和缩容(Node节点的移除与加入)

【kubernetes 系列3】集群扩容和缩容(Node节点的移除与加入)

一. 环境

OS version:CentOS Linux release 7.6.1810 (Core)
Docker version:19.03.0-beta3
server list:
10.18.18.16    server1.ukr    用来安装kubernetes master
10.18.18.7    server2.ukr 用作kubernetes minion (minion1)
10.18.19.8    server3.ukr 
10.18.18.3    server4.ukr 用作kubbernetes minion (minion2)

二、扩容(往集群中加入新节点)

2.1 join命令的解释

kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>

<master-ip>:<master-port>: kube-apiserver的访问地址和端口
<token>:    加入集群缩需要的令牌
<hash>:    一个是Kubernetes认证的SHA256加密字符串

2.2 查看token

[root@server1 ~]# kubeadm token list
TOKEN                     TTL       EXPIRES                     USAGES                   DESCRIPTION   EXTRA GROUPS
difb39.v00p1ms46pjiyop0   23h       2019-05-23T10:42:34+08:00   authentication,signing   <none>        system:bootstrappers:kubeadm:default-node-token

2.3 创建token
每个token只有24小时的有效期,如果没有有效的token,可以使用如下命令创建

[root@server1 ~]# kubeadm token create
difb39.v00p1ms46pjiyop0

2.4 查看SHA256加密字符串

[root@server1 ~]# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
4481f81e7db781a698c6b3491cf8f07a492eb5552f46eb81a4e29ab60f1321d9

2.5 查看节点

[root@server1 ~]# kubectl get nodes
NAME          STATUS   ROLES    AGE   VERSION
server1.ukr   Ready    master   14d   v1.14.1
server2.ukr   Ready    <none>   14d   v1.14.1
server3.ukr   Ready    <none>   14d   v1.14.1
server4.ukr   Ready    <none>   14d   v1.14.1

新节点加入以后,kubernetes就可以给新的节点分配工作pod了。

三、缩容(从集群中移除节点)

kubernetes 在移除节点前,首先需要转移将被移除节点上的所有的pod,然后再删除node

3.1 转移节点(排干node上的所有pod)

[root@server1 ~]# kubectl drain server3.ukr --delete-local-data --force --ignore-daemonsets
node/server3.ukr cordoned

3.2 删除node节点

[root@server1 ~]# kubectl delete node server3.ukr
node "server3.ukr" deleted

3.3 查看节点

[root@server1 ~]# kubectl get nodes
NAME          STATUS   ROLES    AGE   VERSION
server1.ukr   Ready    master   14d   v1.14.1
server2.ukr   Ready    <none>   14d   v1.14.1
server4.ukr   Ready    <none>   14d   v1.14.1

server3.ukr 节点已经被删除了。你也可以使用 kubectl get pods 查看server3.ukr上的所有pod已经重新转移到集群的其他node上了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值