• 大数据Kubernetes(K8S)命令指南 超级详细!


    大数据Kubernetes(K8S)命令指南 超级详细!

    在这里插入图片描述

    一、基础命令

    在Kubernetes中,基础命令用于日常的查询和基本操作。以下表格展示了这些基础命令,它们的说明,以及相应的使用举例。

    命令说明举例
    kubectl version显示客户端和服务器的Kubernetes版本。kubectl version
    kubectl api-versions列出可用的API版本。kubectl api-versions
    kubectl get列出一个或多个资源。kubectl get pods
    kubectl describe显示一个或多个资源的详细信息。kubectl describe nodes my-node
    kubectl logs打印容器的日志。kubectl logs my-pod
    kubectl attach附加到正在运行的容器进行交互。kubectl attach my-pod -i
    kubectl exec在容器内执行命令。kubectl exec my-pod -- ls /
    kubectl port-forward为Pod中的容器端口转发。kubectl port-forward my-pod 5000:6000
    kubectl proxy运行一个代理到Kubernetes API服务器。kubectl proxy
    kubectl cp在容器和本地文件系统之间复制文件/目录。kubectl cp /tmp/foo_dir my-pod:/tmp/bar_dir
    kubectl run在集群中快速启动一个指定的镜像。kubectl run nginx --image=nginx
    kubectl expose将Pod或其他资源类型暴露为Kubernetes服务。kubectl expose deployment nginx --port=80

    这些命令为Kubernetes用户提供了强大的工具集,用于管理和调试在Kubernetes集群中运行的应用。

    二、资源创建与管理

    在Kubernetes中,资源创建与管理命令是用于部署、更新和维护集群资源的关键工具。以下表格展示了这些命令,以及它们的说明和使用示例。

    命令说明举例
    kubectl create从文件或stdin创建一个或多个资源。kubectl create -f my-resource.yaml
    kubectl delete从文件、stdin或指定标签、名称、资源选择器删除资源。kubectl delete -f my-resource.yaml
    kubectl apply应用一个或多个资源的更改。kubectl apply -f my-resource.yaml
    kubectl edit编辑并更新服务器上一个或多个资源的定义。kubectl edit svc/my-service
    kubectl replace从文件或stdin替换资源。kubectl replace -f my-resource.yaml
    kubectl scale更新资源的大小。kubectl scale --replicas=3 deployment/my-deployment
    kubectl autoscale自动扩展Pod的数量。kubectl autoscale deployment my-deployment --min=10 --max=15
    kubectl rollout管理资源的部署。kubectl rollout status deployment/my-deployment
    kubectl set设置特定资源的特定字段。kubectl set image deployment/my-deployment nginx=nginx:1.9.1
    kubectl auth检查用户对于资源的权限。kubectl auth can-i create deployments
    kubectl patch使用补丁部分更新资源的特定字段。kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}'
    kubectl convert转换配置文件到不同的API版本。kubectl convert -f ./pod.yaml --output-version=v1
    kubectl rollout history查看Deployment或StatefulSet的历史版本。kubectl rollout history deployment/nginx
    kubectl rollout undo回滚到Deployment或StatefulSet的旧版本。kubectl rollout undo deployment/nginx
    kubectl completion生成shell自动补全的脚本。kubectl completion bash
    kubectl api-resources列出API服务器上可用的资源类型。kubectl api-resources

    这些命令为开发者和系统管理员提供了广泛的工具,以灵活地处理Kubernetes资源的生命周期,包括创建、更新、删除和自动化管理。

    三、集群管理与维护

    Kubernetes的集群管理与维护命令涉及到集群的日常运行和维护任务,包括监控资源、管理节点和配置集群级别的设置。以下是这些命令的详细列表:

    命令说明举例
    kubectl cluster-info显示集群信息。kubectl cluster-info
    kubectl top显示集群中资源的当前使用情况。kubectl top nodes
    kubectl cordon标记节点为不可调度,防止新的pods被调度到该节点。kubectl cordon my-node
    kubectl uncordon解除节点的不可调度状态。kubectl uncordon my-node
    kubectl drain准备节点进行维护,安全地驱逐节点上的pods。kubectl drain my-node
    kubectl quota显示资源配额。kubectl quota -n my-namespace
    kubectl annotate添加或更新资源的注释。kubectl annotate pods my-pod icon-url=http://my-icon.com
    kubectl label更新资源的标签。kubectl label pods my-pod new-label=my-label
    kubectl taint为节点添加或删除污点。kubectl taint nodes my-node key=value:NoSchedule

    这些命令为集群管理员提供了丰富的工具,用于监控和管理Kubernetes集群的健康和性能,确保集群的稳定性和效率。

    四、其他指令

    Kubernetes 还提供了一系列其他指令,用于执行特定的高级操作、配置管理、调试和集成扩展功能。这些指令对于深入理解和有效管理 Kubernetes 集群至关重要。

    配置管理

    命令说明举例
    kubectl config查看或修改kubeconfig文件。kubectl config view
    kubectl config get-contexts查看所有的kubeconfig上下文。kubectl config get-contexts
    kubectl certificate修改证书资源。kubectl certificate approve my-cert

    调试和诊断

    命令说明举例
    kubectl debug创建调试会话。kubectl debug node/my-node -it
    kubectl diff比较当前状态与所期望的状态。kubectl diff -f my-resource.yaml
    kubectl explain获取资源的文档。kubectl explain pods
    kubectl wait等待资源达到某个条件。kubectl wait --for=condition=Ready pod/my-pod

    插件和扩展

    命令说明举例
    kubectl plugin管理kubectl插件。kubectl plugin list
    kubectl plugin list列出已安装的插件。kubectl plugin list

    插件。 | kubectl plugin list |
    | kubectl plugin list | 列出已安装的插件。 | kubectl plugin list |

    这些指令为开发人员和运维人员提供了强大的工具集,用于深入理解和管理 Kubernetes 集群的复杂性,提高日常运维的效率和效果。

  • 相关阅读:
    文献认证!Kamiya艾美捷抗酒石酸酸性磷酸酶TRAP染色试剂盒
    音频抓取代码示例
    Ubuntu18.04编译OpenCV时遇到无法下载ADE的问题
    DC-DC电源模块 直流升压低压升高压变换器 小体积
    http(下)
    NumPy模块使用介绍
    探索设计模式的魅力:融合AI大模型与函数式编程、开启智能编程新纪元
    大数据之SparkSQL 完整使用 (第八章)
    udev匹配两张网卡
    谁能真正替代你?AI辅助编码工具深度对比(chatGPT/Copilot/Cursor/New Bing)
  • 原文地址:https://blog.csdn.net/Myx74270512/article/details/139750658