Kubernetes 的命令行工具kubectl介绍

目录

  • 1. 查看资源状态
  • 2. 创建资源
  • 3. 描述资源
  • 4. 更新资源
  • 5. 删除资源
  • 6. 暴露服务
  • 7. 状态检查与故障排查
  • 8. 扩缩容
  • 9. 自动补全
  • 10. 上下文管理
  • 11. 查看事件
  • 12. 资源编辑

kubectl 是 Kubernetes 的命令行工具,它用于与 Kubernetes 集群进行交互,执行各种管理和维护任务。

1. 查看资源状态

  • get:列出或获取资源的状态。
    kubectl get pods [-n <namespace>] # 列出所有Pod
    kubectl get deployments [-n <namespace>] # 列出所有Deployment
    

2. 创建资源

  • create:根据 YAML 或 JSON 配置文件创建资源。

    kubectl create -f my-deployment.yaml # 从YAML文件创建Deployment
    
  • run:快速创建并运行一个容器。

    kubectl run my-app --image=my-image:latest --replicas=3 # 创建Deployment并指定镜像及副本数
    

3. 描述资源

  • describe:显示资源的详细信息。
    kubectl describe pod my-pod [-n <namespace>] # 显示指定Pod的详细信息
    

4. 更新资源

  • apply:更新资源到期望状态,比对YAML文件与集群状态差异并应用更改。

    kubectl apply -f my-deployment.yaml
    
  • set:修改资源的某些字段。

    kubectl set image deployment/my-deployment my-container=image:v2 # 更新Deployment的容器镜像
    

5. 删除资源

  • delete:删除资源。
    kubectl delete pod my-pod [-n <namespace>] # 删除指定Pod
    kubectl delete deployment my-deployment # 删除Deployment
    

6. 暴露服务

  • expose:将一个资源(如Deployment)暴露为服务。
    kubectl expose deployment my-deployment --type=LoadBalancer --port=80 # 将Deployment暴露为LoadBalancer服务
    

7. 状态检查与故障排查

  • logs:查看容器的日志。

    kubectl logs my-pod [-n <namespace>] # 查看Pod的日志
    
  • exec:在容器内部执行命令。

    kubectl exec -it my-pod -- bash [-n <namespace>] # 进入Pod的shell
    
  • top:查看资源使用情况。

    kubectl top pods [-n <namespace>] # 查看Pod的CPU和内存使用情况
    

8. 扩缩容

  • scale:调整资源副本数。
    kubectl scale deployment my-deployment --replicas=5 # 将Deployment的副本数调整为5
    

9. 自动补全

  • 在bash中设置kubectl自动补全:
    source <(kubectl completion bash)
    

10. 上下文管理

  • config:管理kubectl配置,如切换集群或命名空间。
    kubectl config use-context my-cluster # 切换到另一个集群上下文
    kubectl config set-context --current --namespace=my-namespace # 切换当前命名空间
    

11. 查看事件

  • events:查看资源相关的事件。
    kubectl get events [-n <namespace>] # 查看命名空间中的事件
    

12. 资源编辑

  • edit:直接编辑资源的配置。
    kubectl edit deployment my-deployment [-n <namespace>] # 直接编辑Deployment配置
    

以上命令只是 kubectl 功能的一部分,实际使用中还有更多高级功能和选项,包括资源的标签(label)、注解(annotate)、资源等待(wait)、滚动更新(rollout)等。在操作 Kubernetes 集群时,熟悉这些命令能够极大地提高工作效率。

  • 28
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值