Kubernetes 操作手册
Kubernetes 是容器编排平台。核心概念: pod (最小调度单元), deployment (声明式 pod 管理), service (稳定网络入口), ingress (L7 路由), configmap/secret (配置注入), namespace (资源隔离)。
查看
kubectl get nodes -o wide kubectl describe node <node> # 容量, 条件, 事件
kubectl get pods -A kubectl get pods -n <ns> -o wide kubectl get pods -n <ns> --sort-by=.status.startTime kubectl get pods -n <ns> --field-selector status.phase=Running
kubectl describe pod <pod> -n <ns>
kubectl logs <pod> -n <ns> --tail=100 -f
kubectl logs <pod> -n <ns> --previous kubectl logs -l app=myapp -n <ns> --tail=50
kubectl get deploy,svc,ingress,cm,secret,pvc -n <ns>
kubectl get events -n <ns> --sort-by='.lastTimestamp' kubectl top pods -A kubectl config get-contexts
操作
kubectl apply -f manifest.yaml kubectl delete -f manifest.yaml
kubectl delete pod <pod> -n <ns> # 删 pod (deployment 会重建)
kubectl rollout restart deployment/<name> -n <ns> # 滚动重启
kubectl scale deployment/<name> --replicas=3 -n <ns>
kubectl exec -it <pod> -n <ns> -- sh
kubectl exec <pod> -n <ns> -- cat /etc/config
kubectl cp <pod>:/path/file ./file -n <ns>
kubectl port-forward <pod> 8080:80 -n <ns> # 本地调试
kubectl config use-context <context>
调试
kubectl describe pod <pod> -n <ns> | tail -20
kubectl get pod <pod> -n <ns> -o yaml
kubectl run debug --rm -it --image=alpine -- sh
kubectl auth can-i create pods --as=system:serviceaccount:<ns>:<sa>