kubectl使用大纲
开放端口范围30000~32767

kubectl
label 标签
设置 label
kubectl label node cka01 node=demonode
查看 label
kubectl get nodes --show-labels
Deployment 容器服务
创建容器服务
kubectl create deployment myapp --image=docker.io/jocatalin/kubernetesbootcamp:v1 --replicas=1 --port=8080
查看容器服务状态
kubectl get deployment myapp
kubectl describe deployment myapp
删除Deployment
kubectl delete deployment myapp
pod
查看pod
kubectl get pods
查看 Pod 详细信息
kubectl describe pod myapp-7db56d4ff8-p56h2
查看指定 Namespace 下的 Pod
kubectl get pods -n kube-system
查看所有 Namespace 下的 Pod
kubectl get pods --all-namespaces
kubectl get pods -A
查看对应 Service 活跃的后端 Pods
kubectl get ep myapp -o wid
kubectl describe ep myapp
查看对应 Pod 对象的事件
kubectl describe pod
服务发布
将应⽤暴露到集群外的命令
kubectl expose deployment myapp --type=NodePort --port=8080
查看 Service
kubectl get svc
kubectl get service
kubectl describe svc myapp
查看对应 Service 活跃的后端 Pods
kubectl get ep myapp -o wid
kubectl describe ep myapp
删除service
kubectl delete service myapp
扩缩容
扩容(增加副本数量)
查看当前 Deployment 的副本数量
kubectl get deployment myapp -o wide
副本数扩⼤为 2 个
kubectl scale deployment myapp --replicas=2
缩容(减少副本数量)
查看当前 Deployment 的副本数量
kubectl get deployment myapp -o wide
副本数减少为 1 个
kubectl scale deployment myapp --replicas=1
版本控制
版本升级
更新镜像
kubectl set image deployment myapp kubernetesbootcamp=docker.io/jocatalin/kubernetes-bootcamp:v2 --record
查看升级情况
kubectl get pod -w -l app=myapp
访问验证
curl 任意node_ip>:30100
回退到上⼀个版本
kubectl rollout undo deployment myapp
回退到指定版本
查看版本历史
kubectl rollout history deployment myapp
指定特定版本回退
kubectl rollout undo deployment myapp --to-revision=5
事件与日志
查看对应 Pod 对象的事件
kubectl describe pod
查看整个集群的事件
kubectl get events
查看容器⽇志
kubectl logs -f
kubectl logs -f
查看 K8s 组件⽇志
master组件
kubectl logs kube-apiserver-cka01 -n kube-system
kubectl logs kube-controller-manager-cka01 -n kube-system
kubectl logs kube-scheduler-cka01 -n kube-system
kubectl logs etcd-cka01 -n kube-system
system日志
systemctl status kubelet
journalctl -fu kubelet
proxy日志
kubectl logs kube-proxy-g8gcg -n kube-system
集群操作
获取到配置里的所有集群
kubectl config get-contexts
切换到新集群
kubectl config use-context ak8s