写点什么

你一定会用到的 7 条 kubectl 命令

  • 2020-05-18
  • 本文字数:1664 字

    阅读完需:约 5 分钟

你一定会用到的7条kubectl命令

kubectl 是 Kubernetes 的命令行工具,人们通常通过它与 Kubernetes 进行交互。通过 kubectl 能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。我们在《使用Kubectl管理Kubernetes的全解教程》一文中详细介绍了在不同的操作系统中如何安装 kubectl 以及如何使用 RKE 和 Rancher 创建配置文件。在本文中,我们将介绍 kubectl 中最常使用的命令。


首先,让我们来看看 kubectl 是如何工作的:


  • 一个 kubectl 命令可以执行一个行动,如 get、create 或者 describe

  • 一个行动可以在一个资源上执行,如 Deployment

  • kubectl 命令遵循这一语法格式:


kubectl an_action a_resource a_resource_name –flags


在大部分情况下,名称和标志并不是必要的。例如,要获得关于现有 pod 的信息,你通常可以直接运行这一命令:kubectl get pods。


这里有一个小技巧:如果你不想每次都手动输入 kubectl,可以制作一个 Bash alias。设置 alias k=‘kubectl’,之后只需输入“k”即可代替 kubectl。


接下来,我们来看看最常见的 kubectl 资源类型及其缩写(括号内为缩写)。

最常见的 11 种 kubectl 资源类型

  • pods (po)

  • nodes(no)

  • deployments (deploy)

  • replicasets(rs)

  • daemonsets(ds)

  • statefulsets(sts)

  • jobs

  • cronjobs(cj)

  • services(svc)

  • persistentvolumes(pv)

  • persistentvolumeclaim (pvc)


你还需要知道的名称是 all 和 event。all 是指所有已存在的资源,kubectl get all 显示运行中的 Pod、Service、Deployment 以及 ReplicaSet 的关键信息。这个命令十分方便。


类似地,kubectl get events 显示了 event 的历史记录。它像是 Kubernetes 级别的日志,而不是容器级别的日志。


如果你想要看到更多类型的 kubectl 资源,请查阅官方文档:


https://kubernetes.io/docs/reference/kubectl/overview/


现在让我们来看看在资源上执行的常见行动。

最常用的 kubectl 命令

  • help—获取帮助

  • get— 显示有关一个或多个资源的信息

  • describe—显示关于一个或多个资源的详细信息

  • logs—显示容器日志

  • exec—进入容器中一个正在运行的进程

  • apply—创建或选择一个资源

  • delete—删除一个或多个资源


现在,让我们来简单了解每个命令。

help

在命令之后输入–help 以获取该命令的帮助。如,kubectl get pods –help

get

kubectl get all 显示了关于运行中的 pod、service、deployment 以及 Replicaset 的关键信息。这是检查事物状态的首选命令,你可以将 get 和单个对象一起使用,并添加–watch 标志以实时观察更新。

describe

kubectl describe all 显示大量与你的集群相关的详细信息,你也可以将 describe 与单个对象一起使用。这个命令在 debug 过程中将大有用处。

logs

logs 命令需要一个 pod 名称。当在多个 pod 中时,使用-c my-container 标志来指定一个容器。使用–previous 标志来获取不再运行的容器信息。

exec

exec 帮助你 debug 一个容器进程,它允许你通过带-it 的伪终端在容器内执行进程。例如,要在 my_pod 中进入容器并运行 Bash,请输入 kubectl exec -it my_pod bash。

apply

这一命令可以通过文件名或控制台输入,对资源进行配置。并且 apply 能够对集群资源进行声明式管理:如果资源不存在,apply 将创建它;如果它存在,apply 将更改它。此外,apply 还能够添加 Service 到适用的资源或者通过添加 Pod 自动化弹性伸缩的 Deployment。


请注意,你可以使用 create 来创建一个 Deployment 并且使用 expose 创建一个 Service。但相对来说,无论对于文件本身还是之后需要重新使用来说,使用带有 apply 的 YAML 文件是更好选择。apply 是创建和更新资源的“瑞士军刀”。

delete

kubectl delete pod my_pod 这一命令可用于删除名称为 my_pod 的 Pod。


要删除所有相同类型的资源,需要使用–all 标志。例如,使用 kubectl delete rs –all 可以删除所有 ReplicaSet。请注意,如果你尝试这一操作,那么要先删除 Deployment,否则 ReplicaSet 将会重新启动。


现在你已经了解 K8s 的关键命令了,如果你还想查看更多的 kubectl 命令,请参阅:


https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands


2020-05-18 18:014776

评论

发布
暂无评论
发现更多内容

年轻就要醒着拼,年轻就要勇于尝试

Zadig

DevOps 微服务治理 自动化运维 企业案例

InfoQ百位优质创作者签约计划第三季,终于等到了!!!

InfoQ写作社区官方

热门活动 签约计划第三季

自主可控再下一城!首套国产ARTIQ架构量子计算测控系统发布

启科量子开发者官方号

算力 量子计算机 量子计算 离子阱 启科量子

web前端培训 | 34 道 Vue 高频面试题

@零度

Vue 前端开发

什么是外链和内链?

源字节1号

前端开发 后端开发 网站开发

java就业培训 | 怎么实现 SpringBoot 并行任务

@零度

JAVA开发 springboot

易快报:我们用 Zadig 实现万次构建部署,聪明运维,释放开发生产力

Zadig

DevOps 微服务架构 CI/CD 容器化 Zadig

TTChat x Zadig 开源共创 Helm 接入场景,环境治理搞得定!

Zadig

DevOps 微服务 音视频 测试环境治理

面试突击61:说一下MySQL事务隔离级别?

王磊

Java java面试

揭秘!付费会员制下的那些小心机!

CRMEB

智能指标驱动的管理和决策平台 Kyligence Zen 全新上线,限量内测中

Kyligence

云创平台+播放器SDK,腾讯云音视频新工具助力视频生产、终端能力全面升级

科技热闻

新朝旧将 vite和webpack煮酒论英雄

转转技术团队

vite webpack

助力极致体验,火山引擎边缘计算最佳实践

火山引擎边缘云

云计算 边缘计算 低时延 边缘云原生 边缘网络

基于字节码的统一异常上报实践

转转技术团队

异常机制 Java’

超级详细的 Maven 教程(基础+高级)

Ayue、

maven

亲测!Centos7部署PHP + Swoole

迷彩

Apache Linux 微服务 swoole 6月月更

ONES 创始人王颖奇对话《财富》(中文版):中国有没有优秀的软件?

万事ONES

揭秘百度智能测试在测试自动执行领域实践

百度Geek说

测试

CTO专访:合见工软深化产品布局 加速国产EDA技术革新

科技热闻

龙书虎书鲸书啃不动?试试豆瓣评分9.5的猴书

图灵教育

编译原理 go语言

架构实战营第五模块课后作业

Geek_53787a

架构实战营

妙!妙盈科技全面实施 Zadig 助力容器化建设,全面拥抱 Kubernetes 和云原生

Zadig

DevOps CI/CD 容器化 自动化运维 Zadig

iMile 利用 Zadig 多云环境周部署千次,跨云跨地域持续交付全球业务

Zadig

DevOps 微服务架构 CI/CD 持续交付 国际化

大数据培训 | Flink SQL窗口表值函数聚合实现原理

@零度

flink 大数据开发

Vue3中如何使用异步请求?

Python研究所

6月月更

高校如何基于云原生构建面向未来的智慧校园?全栈云原生架构VS传统IT架构

York

云原生 数字化转型 智慧校园 教育科技

图像边缘检测的新方向——量子算法

启科量子开发者官方号

tensorflow 边缘计算 图像处理 量子计算 量子算法

影响LED封装散热主要因素有哪些?

Dylan

LED LED显示屏 led显示屏厂家

SOFARegistry 源码|数据同步模块解析

SOFAStack

源码解析 注册中心 数据同步 开源软件

钛动科技:我们的 Zadig 落地之路

Zadig

DevOps 持续交付 企业出海 研发效率

你一定会用到的7条kubectl命令_文化 & 方法_Rancher_InfoQ精选文章