
k8s集群维护和故障排查
1.维护某个节点或者删除节点
1、获取节点列表
#kubectl get node NAME STATUS ROLES AGE VERSION cka-master Ready control-plane,master 24d v1.21.7 cka-node1 Ready <none> 24d v1.21.7 cka-node2 Ready <none> 24d v1.21.72、驱逐节点上的Pod并设置不可调度(cordon)
kubectl drain <node_name> --ignore-daemonsets3、移除节点
kubectl delete node <node_name>4、设置可调度
kubectl uncordon <node_name>.
2.故障排查
1.应用部署相关
查看资源详情
kubectl describe TYPE/NAME查看Pod日志
kubectl logs TYPE/NAME [-c CONTAINER]进入容器终端
kubectl exec POD [-c CONTAINER] -- COMMAND [args...]2.组件不能正常工作
管理节点组件:
• kube-apiserver
• kube-controller-manager
• kube-scheduler
工作节点组件:
• kubelet
• kube-proxy
集群架构图:
待补充
1.先区分部署方式
kubeadm除kubelet外,其他组件均采用静态Pod启动
二进制所有组件均采用systemd管理
2.常见问题:
• 网络不通
• 启动失败,一般配置文件或者依赖服务
• 操作系统,平台不兼容,版本兼容性
3.Service访问异常
Service一般是访问不通,有以下可能性:
1、Service是否关联Pod?
2、Service指定target-port端口是否正常?
3、Pod正常工作吗?
4、Service是否通过DNS工作?
5、kube-proxy正常工作吗?
6、kube-proxy是否正常写iptables规则?
7、cni网络插件是否正常工作?