本网站可以通过分类标签帮助你快速筛选出你想看的文章,记住地址:www.Facec.cc

k8s命令第二弹

上下文管理

kubectl config get-contexts
kubectl config current-context

kubectl config use-context <context-name>

基础命令:

这些命令帮助你了解 Kubernetes 集群的状态并管理基本资源。

  1. 查看集群信息

    kubectl cluster-info
    
  2. 查看当前配置和上下文

    kubectl config view
    kubectl config current-context
    
  3. 切换上下文(连接到不同的集群)

    kubectl config use-context <context-name>
    
  4. 查看命名空间中的所有资源

    kubectl get all
    kubectl get all -n <namespace>
    
  5. 列出所有命名空间

    kubectl get namespaces
    
  6. 创建新命名空间

    kubectl create namespace <namespace-name>
    
  7. 查看 Pod 状态

    kubectl get pods
    kubectl get pods -n <namespace>
    
  8. 查看 Pod 详情

    kubectl describe pod <pod-name>
    
  9. 删除 Pod

    kubectl delete pod <pod-name>
    

部署和管理资源:

以下命令帮助你创建、更新、管理 Kubernetes 的各种资源。

  1. 创建资源
    从 YAML 文件中创建资源:

    kubectl apply -f <file.yaml>
    
  2. 更新资源(滚动更新)

    kubectl apply -f <updated-file.yaml>
    
  3. 获取 Deployment 信息

    kubectl get deployment
    
  4. 查看 Deployment 详细信息

    kubectl describe deployment <deployment-name>
    
  5. 查看 Deployment 滚动更新历史

    kubectl rollout history deployment/<deployment-name>
    
  6. 回滚到上一个版本

    kubectl rollout undo deployment/<deployment-name>
    
  7. 扩展或缩减 Deployment(调整副本数)

    kubectl scale deployment <deployment-name> --replicas=<number-of-replicas>
    

调试和日志:

调试问题时查看日志和进入容器是常见操作。

  1. 查看 Pod 日志
    查看最近 100 行日志:

    kubectl logs <pod-name> --tail=100
    

    或查看指定容器的日志:

    kubectl logs <pod-name> -c <container-name>
    
  2. 进入 Pod 中的容器(启动交互式终端)

    kubectl exec -it <pod-name> -- bash
    

    如果 bash 不可用,可以尝试 sh

    kubectl exec -it <pod-name> -- sh
    
  3. 查看容器中的文件

    kubectl exec <pod-name> -- cat /path/to/file
    
  4. 获取 Pod 的 YAML 描述

    kubectl get pod <pod-name> -o yaml
    

高级操作:

  1. 端口转发(访问服务)
    将本地端口转发到 Pod 的端口:

    kubectl port-forward <pod-name> <local-port>:<pod-port>
    
  2. 查看 Pod 事件

    kubectl get events
    
  3. 批量删除资源

    kubectl delete <resource-type> --all
    

    例如,删除所有 Pods:

    kubectl delete pods --all
    
  4. 创建 Job

    kubectl create job <job-name> --image=<image-name>
    
  5. 运行临时容器

    kubectl run -i --tty --rm debug --image=busybox -- sh
    
  6. 编辑现有资源

    kubectl edit <resource-type> <resource-name>
    

    例如编辑 Deployment:

    kubectl edit deployment <deployment-name>
    

集群管理:

这些命令用于监控集群和管理不同的节点。

  1. 列出所有节点

    kubectl get nodes
    
  2. 查看节点详细信息

    kubectl describe node <node-name>
    
  3. 污点(Taint)和容忍(Toleration)节点
    为节点添加污点:

    kubectl taint nodes <node-name> key=value:NoSchedule
    

    删除污点:

    kubectl taint nodes <node-name> key:NoSchedule-
    

清理和维护:

  1. 删除命名空间中的所有资源

    kubectl delete all --all -n <namespace>
    
  2. 强制删除 Pod(跳过优雅终止期)

    kubectl delete pod <pod-name> --grace-period=0 --force
    
  3. 排除节点的污点和容忍问题
    如果你的 Pod 无法调度到某些节点上,检查节点的污点:

    kubectl describe node <node-name>
    

这些命令涵盖了 kubectl 的基础操作以及一些高级管理和调试操作。通过练习这些命令,你可以更好地掌握 Kubernetes 的日常管理工作。如果你有特定的需求或问题,还可以进一步深入特定领域的命令。

评论