kubectl 常用命令与说明

🌱 1. 基础操作

命令  说明
kubectl version 查看客户端和服务端的版本信息。
kubectl cluster-info    查看集群的控制面信息。
kubectl config view 显示当前 kubeconfig 配置。
kubectl config get-contexts 查看所有上下文(多集群时使用)。
kubectl config use-context xxx  切换当前上下文(集群)。
kubectl get nodes   查看所有节点的状态。

📦 2. 资源管理(get / describe / delete)

命令  说明
kubectl get pod 查看所有 Pod。
kubectl get pod -n myns 查看指定命名空间下的 Pod。
kubectl describe pod mypod  查看指定 Pod 的详细信息。
kubectl delete pod mypod    删除 Pod(会自动重建)。
kubectl get svc 查看服务(Service)。
kubectl get deployment  查看 Deployment 列表。
kubectl get all 查看当前命名空间下所有资源。

🚀 3. 部署与更新

命令  说明
kubectl apply -f xxx.yaml   应用配置(创建或更新资源)。
kubectl create -f xxx.yaml  创建资源(资源存在会失败)。
kubectl delete -f xxx.yaml  删除资源。
kubectl rollout restart deployment my-deploy    重启 Deployment 中的 Pod。
kubectl rollout status deployment my-deploy 查看 Deployment 的滚动更新状态。
kubectl scale deployment my-deploy --replicas=3 修改副本数。
kubectl edit deployment my-deploy   直接编辑 Deployment 配置(vim 打开)。

🛠️ 4. 调试排查

命令  说明
kubectl logs mypod  查看 Pod 的日志(默认第一个容器)。
kubectl logs mypod -c container1    查看指定容器的日志。
kubectl exec mypod -- ls /  在 Pod 中执行命令(默认第一个容器)。
kubectl exec -it mypod -- /bin/sh   进入 Pod 的交互式终端(类似 ssh)。
kubectl describe node mynode    查看节点的详细信息。
kubectl get events  查看集群事件,排查问题常用。

🧱 5. 命名空间管理

命令  说明
kubectl get ns  查看所有命名空间。
kubectl create ns myns  创建命名空间。
kubectl delete ns myns  删除命名空间。
kubectl config set-context --current --namespace=myns   设置默认命名空间。

🔁 6. 端口转发 & 服务访问

命令  说明
kubectl port-forward pod/mypod 8080:80  将本地 8080 端口映射到 Pod 的 80 端口。
kubectl port-forward svc/myservice 8080:80  将本地 8080 映射到 Service 的 80 端口。

🎛️ 7. 资源输出格式控制

命令  说明
kubectl get pod -o wide 输出更多信息(IP、节点等)。
kubectl get pod -o yaml 以 YAML 格式输出。
kubectl get pod -o json 以 JSON 格式输出。
kubectl explain pod 查看资源字段结构(类似文档)。
kubectl explain deployment.spec.template.spec.containers    查看嵌套字段说明。

🎯 8. Label 与 Selector 操作

命令  说明
kubectl get pod --show-labels   显示所有 Pod 的 labels。
kubectl label pod mypod env=dev 给 Pod 添加 label。
kubectl get pod -l env=dev  根据 label 查询 Pod。
kubectl delete pod -l app=nginx 根据 label 删除资源。

📌 示例组合

# 查看某个 Pod 的日志
kubectl logs -f mypod

# 进入 Pod 内部调试
kubectl exec -it mypod -- /bin/bash

# 使用 YAML 创建并部署资源
kubectl apply -f deployment.yaml

# 滚动重启某个服务
kubectl rollout restart deployment my-deploy
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • """1.个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello ...
    她即我命阅读 3,285评论 0 5
  • 为了让我有一个更快速、更精彩、更辉煌的成长,我将开始这段刻骨铭心的自我蜕变之旅!从今天开始,我将每天坚持阅...
    李薇帆阅读 1,919评论 0 3
  • 似乎最近一直都在路上,每次出来走的时候感受都会很不一样。 1、感恩一直遇到好心人,很幸运。在路上总是...
    时间里的花Lily阅读 1,358评论 0 1
  • 1、expected an indented block 冒号后面是要写上一定的内容的(新手容易遗忘这一点); 缩...
    庵下桃花仙阅读 519评论 0 1
  • 一、工具箱(多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取)矩形、椭圆选框工具 【M】移动工具 【V...
    墨雅丫阅读 534评论 0 0