真题¶
题型总结¶
- 查资源,排序
- 查日志,保存
- daemonset 部署
- init container 部署
- 多容器
- 节点调度
- deploy 升级、回退
- configmap、secret 挂载
- emptyDir
- deploy scale
- node 维护
- dns 查看
- 资源统计、监控,信息提取保存
- etcd 备份
- static pod
- 集群问题排查
ps. 集群问题排查 1. 检查是否 kubeadm 安装还是二进制安装(一般应该是 kubeadm) 2. 检查配置是否正常 3. 检查服务是否运行(systemctl)
kubectl 备忘录¶
# 集群管理
## 节点状态查看
kubectl get no | grep Ready | wc -l
## 节点维护
# 手动删除非 ReplicaSet、Job 等维护的 Pod(基本上就是 DaemonSet 或者手动维护的 Pod)
kubectl drain $NODENAME # 会自动设为 cordon 并驱逐
## Etcd 备份/恢复
ETCDCTL_API=3 etcdctl --endpoints $ENDPOINT snapshot save snapshotdb
ETCDCTL_API=3 etcdctl --write-out=table snapshot status snapshotdb
# 服务管理
## 部署创建
kubectl run pod exam-1 --image=nginx,redis,memcached,consul -n exam --generator=run-pod/v1 --overrides='{"spec": {"nodeSelector": {"disk": "stat"}}}' -o yaml > exam-1.yml
## 资源查看
kubectl get po --sort-by=.metadata.name -n exam
## 日志查看
kubectl logs po exam-1 > /opt/logs.logs
## 部署扩容
kubectl scale --replicas=4 deploy demo
## 镜像升级
## init container
## daemonset
## job/cronjob
# dns 查看
kubectl apply -f https://k8s.io/examples/admin/dns/dnsutils.yaml
kubectl exec -i -t dnsutils -- nslookup kubernetes.default
kubectl set image deployments demo demo=nginx:1.11 --record