集群

# 查看集群信息
kubectl cluster-info

# 查看节点信息(集群中的服务器)
kubectl get nodes
kubectl describe node <节点名称>  # 查看节点详细信息

# 查看集群事件(可用于排查故障)
kubectl get events
kubectl get events --sort-by='.lastTimestamp'  # 按时间排序

命名空间(Namespace)

# 查看所有命名空间
kubectl get namespaces
kubectl get ns  # 简写

# 创建命名空间
kubectl create namespace <命名空间名称>

# 删除命名空间
kubectl delete namespace <命名空间名称>

# 在指定命名空间执行命令(添加 -n 参数)
kubectl get pods -n <命名空间名称>

工作负载(Pod/Deployment/StatefulSet/Job 等)

Deployment

# 查看 Deployment
kubectl get deployments
kubectl get deploy  # 简写

# 查看 Deployment 详细信息
kubectl describe deploy <deployment名称>

# 创建/更新 Deployment(从 YAML 文件)
kubectl apply -f <deployment.yaml>

# 缩放 Deployment(调整副本数)
kubectl scale deploy <deployment名称> --replicas=<数量>

# 重启 Deployment(滚动更新)
kubectl rollout restart deploy <deployment名称>

# 查看 Deployment 历史版本
kubectl rollout history deploy <deployment名称>

# 回滚到上一版本
kubectl rollout undo deploy <deployment名称>

# 删除 Deployment
kubectl delete deploy <deployment名称>

Pod 

# 查看当前命名空间的 Pod
kubectl get pods
kubectl get pods -o wide  # 显示更多信息(节点、IP 等)

# 查看指定命名空间的 Pod
kubectl get pods -n <命名空间>

# 查看 Pod 详细信息(包含事件、容器配置等)
kubectl describe pod <pod名称>

# 查看 Pod 日志
kubectl logs <pod名称>  # 单个容器的 Pod
kubectl logs <pod名称> -c <容器名称>  # 多容器的 Pod,指定容器
kubectl logs <pod名称> -f  # 实时查看日志(类似 tail -f)

# 进入 Pod 内部(执行命令)
kubectl exec -it <pod名称> -- /bin/bash  # 进入容器终端
kubectl exec <pod名称> -- ls /  # 在容器中执行单条命令

# 删除 Pod(注意:由 Deployment 管理的 Pod 会自动重建)
kubectl delete pod <pod名称>

服务与网络(Service/Ingress)

# 查看 Service(内部服务发现)
kubectl get services
kubectl get svc  # 简写

# 查看 Service 详细信息
kubectl describe svc <service名称>

# 查看 Ingress(外部访问入口)
kubectl get ingresses
kubectl get ing  # 简写

配置与存储(ConfigMap/Secret/Volume)

# 查看 ConfigMap(配置文件)
kubectl get configmaps
kubectl get cm  # 简写

# 查看 Secret(敏感信息,如密码)
kubectl get secrets
kubectl get secret <secret名称> -o yaml  # 查看 Secret 内容(需解码)

# 查看持久卷(PV)和持久卷声明(PVC)
kubectl get pv  # 持久卷
kubectl get pvc  # 持久卷声明

其他常用命令

# 查看所有资源对象
kubectl get all
kubectl get all -n <命名空间>  # 指定命名空间

# 从 YAML/JSON 文件创建资源
kubectl create -f <文件名称>

# 更新资源(创建或更新,推荐使用)
kubectl apply -f <文件名称>

# 删除资源(从文件)
kubectl delete -f <文件名称>

# 查看资源的 YAML 配置
kubectl get <资源类型> <资源名称> -o yaml

# 编辑资源配置(在线编辑,即时生效)
kubectl edit <资源类型> <资源名称>  # 如:kubectl edit deploy nginx

命令别名与快捷操作

alias k='kubectl'
alias kgp='kubectl get pods'
alias kgs='kubectl get services'
alias kd='kubectl describe'

访问权限

在 Kubernetes 中,当需要访问受权限控制的集群时,kubectl 确实经常需要通过配置文件(通常包含认证信息 / 密钥)来进行身份验证。这种配置通常通过 kubeconfig 文件实现,里面包含了集群地址、用户凭证(如证书、令牌等)等信息。

# 使用指定的 kubeconfig 文件执行命令
kubectl --kubeconfig=/path/to/your/kubeconfig.yaml get pods

# 例如使用包含密钥的配置文件查看集群信息
kubectl --kubeconfig=/root/.kube/another-config cluster-info

kubectl 的密钥配置核心是通过 kubeconfig 文件管理认证信息(证书、令牌等),主要操作围绕指定配置文件管理上下文配置用户 / 集群认证信息展开。实际使用中,通常会由集群管理员提供包含正确密钥的 kubeconfig 文件,直接通过 --kubeconfig 或环境变量引用即可。