摘要
本文内容转自网络,个人学习记录使用,请勿传播
Etcd数据库备份与恢复
kubeadm
方式部署
备份
1 | ETCDCTL_API=3 etcdctl \ |
恢复
1 | # 先暂停kube-apiserver和etcd容器 |
二进制方式部署
备份
1 | ETCDCTL_API=3 etcdctl \ |
恢复
1 | # 先暂停kube-apiserver和etcd |
kubeadm
对k8s集群进行版本升级
Kubernetes每隔3个月发布一个小版本。
- 始终保持最新
- 每半年升级一次,这样会落后社区1~2个小版本
- 一年升级一次,或者更长,落后版本太多
升级前必须备份所有组件及数据,例如etcd
千万不要跨多个小版本进行升级,例如从1.16升级到1.19
升级管理节点
1 | # 查找最新版本号 |
升级工作节点
1 | # 升级kubeadm |
k8s集群节点正确下线流程
1 | # 获取节点列表 |
k8s集群故障排查思路
应用部署异常排查
1 | kubectl describe TYPE/NAME |
组件不能正常工作
- 需要先区分部署方式
- kubeadm:除kubelet外,其他组件均采用静态Pod启动
- 二进制:所有组件均采用systemd管理
- 常见问题
- 网络不通
- 启动失败,一般配置文件或者依赖服务
- 平台不兼容
service
访问异常
Service一般是访问不通,有以下可能性:
- Service是否关联Pod?
- Service指定target-port端口是否正常?
- Pod正常工作吗?
- Service是否通过DNS工作?
- kube-proxy正常工作吗?
- kube-proxy是否正常写iptables规则?
- cni网络插件是否正常工作?