本文提供了一份全面的Kubernetes(K8S)命令指南,旨在帮助用户掌握和运用K8S的各种命令。

关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人

一、基础命令

在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

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

关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人

如有帮助,请多关注

TeahLead KrisChang,10+年的互联网和人工智能从业经验,10年+技术和业务团队管理经验,同济软件工程本科,复旦工程管理硕士,阿里云认证云服务资深架构师,上亿营收AI产品业务负责人。

Kubernetes(K8S)命令指南的更多相关文章

  1. kubernetes(k8s)命令大全

    状态查询 # 查看集群信息 # kubectl cluster-info Kubernetes control plane is running at https://127.0.0.1:8443 K ...

  2. 使用kubectl管理Kubernetes(k8s)集群:常用命令,查看负载,命名空间namespace管理

    目录 一.系统环境 二.前言 三.kubectl 3.1 kubectl语法 3.2 kubectl格式化输出 四.kubectl常用命令 五.查看kubernetes集群node节点和pod负载 5 ...

  3. Kubernetes 实践指南之Kubernetes 的命令行工具详解

    kubectl作为客户端CLI工具,可以让用户通过命令行的方式对Kubernetes集群进行管理.本节内容将对kubectl的子命令和用法进行详细描述. 一.kubectl 用法概述 kubectl语 ...

  4. Kubernetes K8S之资源控制器RC、RS、Deployment详解

    Kubernetes的资源控制器ReplicationController(RC).ReplicaSet(RS).Deployment(Deploy)详解与示例 主机配置规划 服务器名称(hostna ...

  5. 《k8s权威指南》读书笔记

    抽空读完了<k8s权威指南>一书,对k8s的总算有了较为系统的认知. 好记忆不如多写字,以下是读书笔记 第一章 k8s入门 k8s是什么: 一个开源的容器集群管理平台,可提供容器集群的自动 ...

  6. 《两地书》--Kubernetes(K8s)基础知识(docker容器技术)

    大家都知道历史上有段佳话叫“司马相如和卓文君”.“皑如山上雪,皎若云间月”.卓文君这么美,却也抵不过多情女儿薄情郎. 司马相如因一首<子虚赋>得汉武帝赏识,飞黄腾达之后便要与卓文君“故来相 ...

  7. Docker Kubernetes(K8s)简介

    入职了新公司,使用了Docker和K8s,需要有一个基础的了解,对网络上相关信息进行了简单总结. 一Docker 1简介: Docker 将应用程序与该程序的依赖,打包在一个文件里面.运行这个文件,就 ...

  8. Kubernetes(k8s) docker集群搭建

    原文地址:https://blog.csdn.net/real_myth/article/details/78719244 一.Kubernetes系列之介绍篇   •Kubernetes介绍 1.背 ...

  9. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  10. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...

随机推荐

  1. CoaXPress 协议的CRC及其具体实现

    CoaXPress CRC 在CXP协议中,CRC用在stream packet和control packet中,用于指示数据是否错误,如果是control packet, device发现CRC错误 ...

  2. 【Azure 存储服务】使用REST API操作Azure Storage Table,删除数据(Delete Entity)

    问题描述 使用Azure Storage Table的REST API,实现根据过滤条件删除满足条件的数据,调用方法为  Delete Entity (Azure Storage) 问题实现 第一步: ...

  3. TensorFlow 回归模型

    TensorFlow 回归模型 首先,导入所需的库和模块.代码中使用了numpy进行数值计算,matplotlib进行数据可视化,tensorflow进行机器学习模型的构建和训练,sklearn进行多 ...

  4. C#多线程(10):读写锁

    目录 ReaderWriterLockSlim ReaderWriterLockSlim 常用方法 订单系统示例 并发字典写示例 ReaderWriterLock 本篇的内容主要是介绍 ReaderW ...

  5. springboot参数据校验

    什么是Hibernate Validator? Hibernate Validator是Hibernate提供的一个开源框架,使用注解方式非常方便的实现服务端的数据校验. 官网:http://hibe ...

  6. liunx 前台打包的两个报错 Invalid value used in weak set - MIS国产化服务器不支持打包

    错误1 Invalid value used in weak set Webpack4使用 mini-css-extract-plugin 最新版 压缩css 报 "Invalid valu ...

  7. k8s资源管理之ResourceQuota、LimitRange和QoS

    ResourceQuota ResourceQuota 是 Kubernetes 中的一个资源配额对象,用于限制命名空间(Namespace)中资源的使用量.ResourceQuota 可以限制命名空 ...

  8. stm32 串口DMA源码解析

    一  DMA协议: DMA是STM32内的一个硬件模块,它独立于CPU在外围设备和内存之间进行数据传输,解放了CPU.每个型号的STM32 MCU有1-2个DMA,每个DMA有一定数量的Channel ...

  9. Android混淆后的bug日志通过mapping文件找对应行号

    背景 由于项目中提测以及线上的apk都是经过混淆处理的,因此拿到日志后也无法正常查看崩溃日志的行号 这个原因是因为混淆了文件,输出的日志是对应不上源文件的,为了正确找到行号需要用到mapping.tx ...

  10. 智慧公安!3DCAT实时云渲染助力某公安机关打造数字孪生可视化系统

    近年来,随着大数据.数字孪生.云计算.人工智能等技术的飞速发展,数字化浪潮席卷全国各地公安系统.2022年全国公安工作会议中也提到,数字化改革是推动公安工作创新发展的大引擎.培育战斗力生成新的增长点. ...