【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

你一定会用到的 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:014293

评论

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

【web 开发基础】PHP中的访问方法(60)

迷彩

PHP基础 property 访问方法 类的封装 封装性

从这两道题重新理解,JS的this、作用域、闭包、对象

loveX001

JavaScript

校招前端面试题集锦

loveX001

JavaScript

校招前端一面经典react面试题(附答案)

beifeng1996

React

vue为什么v-for的优先级比v-if的高?

bb_xiaxia1998

Vue

【web 开发基础】PHP面向对象中类的继承(61)

迷彩

面向对象 extends PHP基础 类的继承 类的实例化

音与影的魔法红线:双Vivid标准带来的超高清之变

脑极体

针对Web应用的攻击模式

穿过生命散发芬芳

HTTP 1月月更

2023-01-01:remix-ide是浏览器的ide,官方已经提供地址,但是需要连接外网。如果是内网,需要自己在服务器里搭建remix-ide;另一种方式是用remix-ide的桌面版。这里只讨论

福大大架构师每日一题

云原生 k8s k3s 福大大 remix-ide

云端高性能计算,华为云ECS助力企业数字化转型

秃头也爱科技

架构设计模块三作业

附加信息

架构训练营

架构训练营-模块二作业

Sam

架构实战营

CleanMyMac2024专业Mac清理软件下载

茶色酒

CleanMyMac2024

从输入URL到渲染的过程中到底发生了什么?

loveX001

JavaScript

校招前端二面高频vue面试题

bb_xiaxia1998

Vue

2022年度总结-个人成长视角

非典型产品经理笔记

个人成长 网络安全 年终总结

【JVM故障问题排查心得】「内存诊断系列」Xmx和Xms的大小是小于Docker容器以及Pod的大小的,为啥还是会出现OOMKilled?

洛神灬殇

jdk JVM 12 月 PK 榜 OOMKilled

弹性公网IP支持多产品灵活绑定或解绑,能为企业提供独立公网IP资源!

秃头也爱科技

老周的 2022 年终总结

老周聊架构

年终总结 12月月更

滴滴前端常见面试题

loveX001

JavaScript

2022前端二面react面试题(边面边更)

beifeng1996

React

AI-001-火爆全网的聊天机器人ChatGPT能做什么

非典型产品经理笔记

nlp 人工智能’ ChatGPT

OpenTelemetry系列 (五)| OpenTelemetry Java Instrumentation二次开发指南

骑牛上青山

Java 调用链 OpenTelemetry 微服务调用链 agent

架构训练营模块二作业

gigifrog

架构训练营

CleanMyMac2024一款超好用的Mac清理优化工具

茶色酒

CleanMyMac CleanMyMac X CleanMyMac X2023

【web 开发基础】PHP类的构造方法和析构方法(59 )

迷彩

面向对象 PHP基础 构造方法 析构方法

AI-002-十分钟理解ChatGPT的技术逻辑及演进(前世、今生)

非典型产品经理笔记

NLP 大模型 人工智能’ ChatGPT

模块4

KING

运维进阶训练营 -W10H

赤色闪电

运维

模块五作业

Ryan

构架

面试官让你说说react状态管理?

beifeng1996

React

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