Kubectl 常用命令
Kubectl 常用命令
查看namspace
kubectl get namespace
查看某个namespace下的pod
kubectl get pod --namespace <your name space>
查看pod的详细信息(IP,所属节点信息等)
kubectl get pod -o wide
查看deployment列表
kubectl get deployment
查看某个deployment具体内容
kubectl describe deployment <deployment name>
查看某个pod内的容器
kubectl get pods <pod name> -o jsonpath={.spec.containers[*].name}
进入pod
kubectl exec -it <pod name> -- /bin/bash
进入pod中指定的容器
kubectl exec -it <pod name> -c <container name> -- /bin/bash
查看节点信息
kubectl get node -o wide
设置节点不可被调度
即master不会将新的pod调度到该节点上
kubectl cordon <node name>
设置节点可被调度
kubectl uncordon <node name>
查看deployment历史版本
kubectl rollout history deployment <deployment name>
回滚上一个deployment
kubectl rollout undo deployment <deployment name>
回滚指定版本的deployment
kubectl rollout undo deployment <deployment name> --to-revision=<version number>
给node打label
kubectl label nodes <node name> <key>=<value>
查看node上的label信息
kubectl get nodes --show-labels
调整pod数量
kubectl scale deployment/<deployment name> --replicas=<number>
驱逐某个节点上的node
kubectl drain <node name> --force --ignore-daemonsets --delete-local-data
--force 当一些pod不是经 ReplicationController, ReplicaSet, Job, DaemonSet 或者 StatefulSet 管理的时候就需要用--force来强制执行 (例如:kube-proxy)
--ignore-daemonsets 无视DaemonSet管理下的Pod。即--ignore-daemonsets往往需要指定的,这是因为deamonset会忽略unschedulable标签(使用kubectl drain时会自动给节点打上不可调度标签),因此deamonset控制器控制的pod被删除后可能马上又在此节点上启动起来,这样就会成为死循环.因此这里忽略daemonset
--delete-local-data 如果有mount local volumn的pod,会强制杀掉该pod

浙公网安备 33010602011771号