K8S—节点管理

1、token的管理指令

指        令 作        用
kubeadm token list查看token
kubeadm token delete <token名称>删除token
kubeadm token create创建临时token,有效期24小时
kubeadm token create --ttl=0 --print-join-command创建永久的token

2、K8S节点管理

2.1、查看节点

[root@master ~]# kubectl get nodes
NAME     STATUS   ROLES                  AGE    VERSION
master   Ready    control-plane,master   2d8h   v1.23.0
node01   Ready    <none>                 2d4h   v1.23.0
node02   Ready    <none>                 20h    v1.23.0

2.2、删除节点

1)驱逐即将删除node节点上的pod

        如果需要从集群中移除 node02 这个 Node 节点,在 master上执行下面的命令,安全驱逐节点上面所有的 pod,该命令执行成功后 node节点开始释放所有 pod ,并且不接收新的 pod 进程

[root@master ~]# kubectl drain node02 --delete-emptydir-data --force --ignore-daemonsets 
node/node02 cordoned
WARNING: ignoring DaemonSet-managed Pods: kube-system/kube-flannel-ds-c6cnz, kube-system/kube-proxy-wzvm4
node/node02 drained

参数说明:

        --force:当一些pod不是经 ReplicationController, ReplicaSet, Job, DaemonSet 或者 StatefulSet 管理的时候就需要用 --force 来强制执行 (例如:kube-proxy) 
        --ignore-daemonsets:无视 DaemonSet 管理下的 Pod 
        --delete-local-data:如果有 mount local volumn 的 pod,会强制杀掉该 pod 并把料清除掉,另外如果跟本身的配置信息有冲突时,drain就不会执行该命令会安全驱逐节点上面所有的 pod ,安全驱逐的方式将会允许 pod 里面的容器遵循指定的 Pod DisruptionBudgets 执行优雅的中止。

2) 恢复node,继续接收新pod

        节点上的pod被驱逐后,如果不删除node的话,进行完对应的升级或维护后可以恢复node,恢复接收新的pod进程

[root@master ~]# kubectl uncordon node02

3)删除节点

[root@master ~]# kubectl delete node node02
node "node02" deleted

4)查看节点

[root@master ~]# kubectl get nodes
NAME     STATUS   ROLES                  AGE    VERSION
master   Ready    control-plane,master   2d9h   v1.23.0
node01   Ready    <none>                 2d5h   v1.23.0

2.3、节点加入单主集群

加入方式一:

1)创建新的token

[root@master ~]# kubeadm token create 
W0606 20:32:28.134374   51026 common.go:167] WARNING: could not obtain a bind address for the API Server: no default routes found in "/proc/net/route" or "/proc/net/ipv6_route"; using: 0
.0.0.0376gn4.9fffhgwg6yual7tj         # 新创建的token

2)获取ca的hash值

        token 生成完后,我们还需要获取 ca 证书 sha256 编码 hash 值,查看当前 k8s 集群的 ca 证书 sha256 编码 hash 值,我们的 ca 证书默认存放在 /etc/kubernetes/pki 目录下。

[root@master ~]# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex
(stdin)= 2b25ee800dd3a816b98b5f96e3f87c43add0cdc55a1d3037e7e4f43ecec1f902

3)将node02节点加入K8S集群

[root@node02 ~]# kubeadm reset --force
[root@node02 ~]# rm -rf /etc/cni/net.d/
[root@node02 ~]# kubeadm join 192.168.4.10:6443 --token 376gn4.9fffhgwg6yual7tj --discovery-token-ca-cert-hash sha256:2b25ee800dd3a816b98b5f96e3f87c43add0cdc55a1d3037e7e4f43ecec1f902

[root@master ~]# kubectl get nodes        # master上查看node节点
NAME     STATUS   ROLES                  AGE    VERSION
master   Ready    control-plane,master   2d9h   v1.23.0
node01   Ready    <none>                 2d5h   v1.23.0
node02   Ready    <none>                 49s    v1.23.0

加入方式二: 

1)在master节点上使用命令,直接生成出包含新的token与hash值的完整加入命令

[root@master ~]# kubeadm token create --print-join-command 
kubeadm join 192.168.4.10:6443 --token 2d9vv9.whf5a1hj1g80f0z0 --discovery-token-ca-cert-hash sha256:6e6218060fabe62fa57b118b59b61ba84fe0deb359107286f416d6681b4411b9

2.4、 节点加入高可用集群

        高可用集群与单master集群不同的地方在于还要生成用于新master加入的证书

1)首先生成新的 token

[root@master ~]# kubeadm token create --print-join-command 
kubeadm join 192.168.4.10:6443 --token 2d9vv9.whf5a1hj1g80f0z0 --discovery-token-ca-cert-hash sha256:6e6218060fabe62fa57b118b59b61ba84fe0deb359107286f416d6681b4411b9 

 2)生成新的用于 master 加入的证书

[root@master ~]# kubeadm init phase upload-certs --upload-certs 
I0902 10:32:26.020896   41297 version.go:255] remote version is much newer: v1.25.0; falling back to: stable-1.23
[upload-certs] Storing the certificates in Secret "kubeadm-certs" in the "kube-system" Namespace
[upload-certs] Using certificate key:
1224f68070347f1e8093021b07eb2c11917d9d5151688e35c79745dbc30ef719   # master加入的证书信息

3)通过新生成的 token、ca 证书 sha256 编码 hash 值、 master 证书的值,组成master 加入集群命令:

kubeadm join 192.168.4.10:6443 --token 2d9vv9.whf5a1hj1g80f0z0 --discovery-token-ca-cert-hash sha256:6e6218060fabe62fa57b118b59b61ba84fe0deb359107286f416d6681b4411b9 --control-plane --certificate-key 1224f68070347f1e8093021b07eb2c11917d9d5151688e35c79745dbc30ef719

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值