K8S常用命令

111 阅读2分钟

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