1. 最常用查看
kubectl get nodes # 看节点
kubectl get pods -A # 看所有 Pod
kubectl get pods -o wide # 看 Pod IP / 节点
kubectl get deployment # 看 Deployment
kubectl get svc # 看 Service
kubectl get configmap # 看 ConfigMap
kubectl get secret # 看 Secret
2. 最常用排障
kubectl describe pod <pod名> # 看 Pod 详细信息和 Events
kubectl logs <pod名> # 看容器日志
kubectl exec -it <pod名> -- sh # 进容器
kubectl exec -it <pod名> -- ping -c 4 <IP> # 容器里测试连通性
3. 应用 YAML
kubectl apply -f xxx.yaml # 创建/更新资源
kubectl delete -f xxx.yaml # 删除资源
kubectl delete pod <pod名> # 删除 Pod
4. 生成 YAML 模板(最实用)
4.1 Deployment
kubectl create deployment my-app \
--image=docker.m.daocloud.io/library/nginx:1.25 \
--dry-run=client -o yaml > my-app.yaml
4.2 Service
kubectl expose deployment my-app \
--name=my-svc \
--port=80 \
--target-port=80 \
--dry-run=client -o yaml > my-svc.yaml
4.3 ConfigMap
kubectl create configmap my-config \
--from-literal=key1=value1 \
--dry-run=client -o yaml > my-config.yaml
4.4 Secret
kubectl create secret generic my-secret \
--from-literal=password=abc123 \
--dry-run=client -o yaml > my-secret.yaml
5. Deployment 常用操作
kubectl get deployment
kubectl scale deployment web-demo --replicas=3 # 改副本数
kubectl describe deployment web-demo # 看详情
6. Pod 跨节点通信测试
创建两个测试 Pod
kubectl apply -f nettest-1.yaml
kubectl apply -f nettest-2.yaml
kubectl get pods -o wide
互 ping
kubectl exec -it nettest-1 -- ping -c 4 <nettest-2的PodIP>
kubectl exec -it nettest-2 -- ping -c 4 <nettest-1的PodIP>
通过标准
4 packets transmitted, 4 packets received, 0% packet loss
7. 镜像拉取排障
看报错
kubectl describe pod <pod名>
常见错误:
ErrImagePull:拉镜像失败ImagePullBackOff:反复拉失败后退避
containerd 测试拉取
sudo crictl pull docker.io/library/busybox:1.36
sudo ctr -n k8s.io images pull --hosts-dir /etc/containerd/certs.d docker.io/library/busybox:1.36
8. crictl 配置
sudo tee /etc/crictl.yaml >/dev/null <<'EOF'
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOF
9. YAML 文件查看与编辑
ls # 看目录
cat xxx.yaml # 看文件内容
nano xxx.yaml # 编辑文件
cp a.yaml b.yaml # 复制文件
10. 你当前最常见对象含义
- Pod:真正跑容器的地方
- Deployment:管理 Pod 副本和更新
- Service:给 Pod 一个稳定入口
- ConfigMap:存普通配置
- Secret:存密码/密钥
11. 最短工作流
# 1 生成模板
kubectl create deployment my-app --image=docker.m.daocloud.io/library/nginx:1.25 --dry-run=client -o yaml > my-app.yaml
# 2 编辑文件
nano my-app.yaml
# 3 应用
kubectl apply -f my-app.yaml
# 4 查看
kubectl get deployment
kubectl get pods -o wide
# 5 出问题排查
kubectl describe pod <pod名>
kubectl logs <pod名>
12. 速记
get:看列表describe:看详情logs:看日志exec:进容器执行命令apply:应用 YAMLdelete:删除资源scale:改副本数--dry-run=client -o yaml:生成 YAML 模板
Comments NOTHING