kubectl 基本操作
2025年1月20日大约 2 分钟
记录一下 kubectl 的基本操作,以备不时之需。
常用资源缩写
po
:Podsvc
:Servicedeploy
:Deploymentns
:Namespacecm
:ConfigMaprs
:ReplicaSetsts
:StatefulSet
kubectl 基本操作
获取资源
基本格式:
kubectl get <资源类型> [资源名称] [选项]
# 获取默认命名空间的所有 Pod kubectl get pods # 获取所有命名空间的所有 Pod kubectl get pods --all-namespaces # 获取指定命名空间的所有 Pod kubectl get pods -n <namespace> # 获取默认命名空间的所有 Pod,并显示详细信息 kubectl get pods -o wide
创建资源
基本格式:
kubectl create <资源类型> [资源名称] [选项]
# 创建一个使用 nginx 官方镜像的名为 my-nginx 的 Pod kubectl create pod my-nginx --image=nginx # 从 YAML 配置创建某个资源 kubectl create -f pod.yaml # 从 YAML 配置创建资源并指定到某个命名空间 kubectl create -f pod.yaml -n <namespace> # 从目录内的所有 YAML 文件创建资源 kubectl create -f /path/to/dir
删除资源
基本格式:
kubectl delete <资源类型> [资源名称] [选项]
# 删除名为 my-pod 的 Pod kubectl delete pod my-pod # 从 YAML 文件删除资源 kubectl delete -f pod.yaml
编辑资源
基本格式:
kubectl edit <资源类型> [资源名称] [选项]
# 编辑名为 my-pod 的 Pod kubectl edit pod my-pod # 编辑某个 ConfigMap kubectl edit configmap my-configmap
查看资源详情
基本格式:
kubectl describe <资源类型> [资源名称] [选项]
# 查看名为 my-pod 的 Pod 的详细信息 kubectl describe pod my-pod # 查看某个 ConfigMap 的详细信息 kubectl describe configmap my-configmap
执行命令
基本格式:
kubectl exec [选项] <Pod 名称> -- <命令>
# 进入名为 my-pod 的 Pod 的交互式终端(bash) kubectl exec -it my-pod -- /bin/bash # 直接执行命令 kubectl exec my-pod -- ls /etc
查看日志
基本格式:
kubectl logs [选项] <Pod 名称>
# 查看名为 my-pod 的 Pod 的日志 kubectl logs my-pod # 查看名为 my-pod 的 Pod 的指定容器的日志 kubectl logs my-pod -c my-container
杂七杂八
重启 Deployment
kubectl rollout restart deployment <deployment-name>