安装部署
-
删除节点
- 删除master
- 删除node
- 新增节点
- 删除master
- 删除node
以上参考: kubernetes 集群实操系列:节点维护(删除、新增)
- 将 kubeadm 生成的证书有效期更新为 10 年的方法
https://gitee.com/pi4k8s/update-kube-cert/blob/master/README.md
系统运维
- 获取容器重启前一个的日志
kubectl logs -f -p kafka-0
- 一键强制删除k8s集群中所有Delete状态的pv
kubectl get pv|grep Delete| awk '{print $1}'| xargs kubectl delete pv --force --grace-period=0 # 这个命令有可能还是删不掉,那就再来一个 kubectl get pv|grep Delete| awk '{print $1}'| xargs kubectl patch pv -p '{"metadata": {"finalizers": null}}'
- 一键强制删除k8s集群中所有Terminating状态的pod
kubectl get po --all-namespaces|grep Terminating| awk '{print $1"\t"$2}'| xargs -l bash -c 'kubectl delete po $1 -n $0 --force --grace-period=0'
-
kubectl 如何给node打roles
[root@pi4-master01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION pi4-master01 Ready master 67d v1.18.20 pi4-node01 Ready <none> 48d v1.18.20 pi4-node02 Ready node 66d v1.18.20 [root@pi4-master01 ~]# kubectl label node pi4-node01 node-role.kubernetes.io/node= node/pi4-node01 labeled [root@pi4-master01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION pi4-master01 Ready master 67d v1.18.20 pi4-node01 Ready node 48d v1.18.20 pi4-node02 Ready node 66d v1.18.20
- 对资源进行伸缩命令示例
# 将名为 'foo' 的副本集伸缩到 3 副本 kubectl scale --replicas=3 rs/foo # 将在 "foo.yaml" 中的特定资源伸缩到 3 个副本 kubectl scale --replicas=3 -f foo.yaml # 如果名为 mysql 的 Deployment 的副本当前是 2,那么将它伸缩到 3 kubectl scale --current-replicas=2 --replicas=3 deployment/mysql # 伸缩多个副本控制器 kubectl scale --replicas=5 rc/foo rc/bar rc/baz
答疑解惑
- 使用nodeport对外开放服务是只通过master开放,还是全节点开放?
全节点开放。