2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

评论

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

大数据开发培训哪家比较好?

小谷哥

橡树黑卡携手观测云,实现会员体系业务可观测

观测云

可观测性 可观测 观测云 可观测性用观测云

「融云政企数智办公解决方案」正式入选「大信创产品目录」

融云 RongCloud

Canvas 模型服务,已支持直接使用“组件设置”作为模型参数输入|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 数据分析 团队协同 编程建模

好友靠JVM成功进入阿里,阿里大佬力荐的JVM笔记到底有什么魔力?

小小怪下士

Java 程序员 面试 JVM 阿里

总结了6种卷积神经网络压缩方法

华为云开发者联盟

人工智能 华为云 企业号 2 月 PK 榜 华为云开发者联盟

ONES 加入中国信通院云上软件工程社区,推动软件提质发展

万事ONES

Flomesh Ingress 使用实践(一)基础功能

Flomesh

负载均衡 API ingress Pipy

云原生数据库如何设计运维系统?

Greptime 格睿科技

数据库 运维 云原生

学术加油站|HIST,面向海量数据的学习型多维直方图

OceanBase 数据库

数据库 oceanbase

前端培训中怎么提升技术水平?

小谷哥

英雄互娱|提升 300% !一次性能优化实战记录

观测云

可观测性 可观测 观测云 可观测性用观测云

一种基于图片搜索视频的方案

京东科技开发者

搜索 视频 图像 企业号 2 月 PK 榜 商品搜索

服务器双机热备软件是什么?有什么作用?有哪些?

行云管家

高可用 服务器 双机热备 服务器双机热备

2023年主流混合云管理平台排名榜单分享

行云管家

混合云 云管平台 云管理

一文讲尽Thread类的源码精髓

华为云开发者联盟

开发 华为云 企业号 2 月 PK 榜 华为云开发者联盟

探讨:30岁转行入IT,晚吗

MavenTalker

转型 职业发展 职业道路 个人思考

前端编程培训学习好就业吗?

小谷哥

java培训班怎样才能找到工作

小谷哥

得物商家客服桌面端Electron技术实践

得物技术

node.js 前端 前端架构 Electron 客户端开发

Kratos微服务框架实现权鉴 - Zanzibar

golang 微服务 鉴权 Kratos Docker 镜像

2013年的技术方向

且行且珍惜

2023计划

零基础转行大数据,学习应该注意什么?

小谷哥

颠覆性的开源分布式数据库DawnSql

陈飞

DTC补货实战:从算法到落地

观远数据

人工智能 BI DTC

为什么你该试试 Sccache?

Databend

DawnSql解决SAAS的痛点

陈飞

持续耕耘显卡市场,英特尔锐炫驱动重大升级

科技之家

TiDB x 阿里云丨最长 30 天,最高节省 ¥33,000,免费试用云数据库 TiDB 的机会来啦!

PingCAP

TiDB

智能学习灯赛道竞争日趋激烈 火山引擎VeDI用数据技术助力打造新优势

字节跳动数据平台

大数据 增长 用户分析

DawnSql完美超越微服务

陈飞

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