集群
# 查看集群信息
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
或环境变量引用即可。