k8s常用命令
node操作
- 查看节点信息:
kubectl get nodes - 查看节点详情:
kubectl get nodes -o wide - 节点打标签:
kubectl label nodes 节点名称 labelName=标签名称 - 查看节点标签:
kubectl get node --show-labels - 隔离节点:
kubectl cordon 节点IP地址 - 驱逐节点:
kubectl drain 节点IP地址 --delete-local-data --ignore-daemonsets --force - 解除节点隔离:
kubectl uncordon 节点名称
pod操作
-
查看pod节点:
kubectl get pod,查询的是默认命名空间下的pod -
查看所有pod节点:
kubectl get pods -A -
查看pod节点详情:
kubectl get pod -o wide -
查看所有名称空间下的pod:
kubectl get pod --all-namespaces -
根据yaml文件创建pod:
kubectl apply -f 文件名称.yaml -
根据yaml文件删除pod:
kubectl delete -f 文件名称.yaml -
删除pod节点:
kubectl delete pod pod名称 -n 名称空间 -
强制删除pod节点:
kubectl delete pod pod名称 -n 命名空间 --grace-period=0 --force -
查看异常的pod节点:
kubectl get pods -n 名称空间 | grep -v Running -
查看异常pod节点的日志:
kubectl describe pod pod名称 -n 名称空间 -
进入默认命名空间的pod节点:
kubectl exec -it pod名称 -- /bin/bash -
进入某个特定命名空间下的pod节点:
kubectl exec -it pod名称 -n 命名空间 -- /bin/bash -
普通方式创建pod:
kubectl run pod名称 --image=镜像名称 -
监控pod(一秒钟更新一次命令):
watch -n 1 kubectl get pod
deployment操作
-
deployment部署pod(具有自愈能力,宕机自动拉起):
kubectl create deployment pod名称 --image=镜像名称 -
deployment部署pod(多副本):
kubectl create deployment pod名称 --image=镜像名称 --replicas=3 -
查看deployment部署:
kubectl get deploy -
删除deployment部署:
kubectl delete deploy pod名称 -
deployment扩容\缩容pod:
kubectl scale deploy/pod名称 --replicas=数量 -
deployment扩容\缩容pod:
kubectl edit deploy pod名称 -
deployment滚动更新pod:
kubectl set image deploy/pod名称 容器名称=镜像名称:版本号 --record -
deployment查看pod回退版本:
kubectl rollout history deploy/pod名称 -
deployment查看pod回退版本详情:
kubectl rollout history deploy/pod名称 --revision=1 -
deployment回退pod到上一个版本:
kubectl rollout undo deploy/pod名称 -
deployment回退pod到指定版本:
kubectl rollout undo deploy/pod名称 --to-revision=1 -
deployment暴露pod集群内部访问(ClusterIP):
kubectl expose deploy pod名称 --port=8080 --target-port=80 --type=ClusterIP -
deployment暴露pod外网访问(NodePort):
kubectl expose deploy pod名称 --port=8080 --target-port=80 --type=NodePort
service操作
-
查看服务:
kubectl get svc -
查看服务详情:
kubectl get svc -o wide -
查看所有名称空间下的服务:
kubectl get svc --all-namespaces
namespace操作
-
查看名称空间:
kubectl get namespace -
查看名称空间:
kubectl get ns -
创建名称空间:
kubectl create ns 名称 -
删除名称空间:
kubectl delete ns 名称
StatefulSet操作
-
列出命名空间中的所有 StatefulSet:
kubectl get statefulsets -n 命名空间 -
查看一个 StatefulSet详情:
kubectl describe statefulset <statefulset-name> -n <namespace>
服务重启
service kube-apiserver restart
service kube-controller-manager restart
service kube-scheduler restart
service kube-proxy restart
service kubelet restart