前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >K8s kubectl 常用命令总结(建议收藏)

K8s kubectl 常用命令总结(建议收藏)

作者头像
DevOps时代
发布2021-10-27 14:56:57
1.1K0
发布2021-10-27 14:56:57
举报

我们已经知道 kubernetes 的常用术语和一些思想,要想进行二次开发,或者简单的说跑起来,运行一个小实例,那就要求我们需要对ta的常用操作相当的熟悉。入手了解 kubectl 是非常快速的一个方式,下面,我们就来看看 kubectl 的命令行操作的常用方式。

1.kubectl用法详解

kubectl语法

kubectl [command] [Type] [NAME] [flags] command: 子命令,用于操作kubernetes集群资源对象的命令,例如:create,delete,describe,get,apply等等

TYPE: 资源对象的类型,区分大小写,能以单数,复数或者简写形式表示。例如以下3中TYPE是等价的。

代码语言:javascript
复制
kubectl get pod pod1
kubectl get pods pod1
kubectl get po pod1

NAME:资源对象的名称,区分大小写。如果不指定名称,系统则将返回属于TYPE的全部对象的列表,例如:kubectl get pods 将返回所有 pod 的列表

flags: kubectl 子命令的可选参数,例如使用 -s 指定api server的url地址而不用默认值。

kubectl可操作的资源对象类型以及缩写:

在一个命令行中也可以同时对多个资源对象进行操作,以多个TYPE和NAME的组合表示,示例如下:

获取多个pod的信息:

代码语言:javascript
复制
kubectl get pods pod1 pod2

获取多种对象的信息:

代码语言:javascript
复制
kubectl get pod/pod1  rc/rc1

同时应用多个YAML文件,以多个-f file参数表示:

代码语言:javascript
复制
kubectl get pod -f pod1.yaml -f pod2.yaml
kubectl create -f pod1.yaml -f rc1.yaml -f service1.yaml

2.kubectl 子命令详解

kebectl的子命令非常丰富,涵盖了对kubernetes集群的主要操作,包括资源对象的创建、删除、查看、修改、配置、运行等,详细的子命令如表2.10所示:

3.kubectl参数列表

Kubectl命令行的公共启动参数如下所示:

4.Kubectl 输出格式

kubectl 命令可以用多种格式对结果进行显示,输出的格式通过-o参数指定:

5.kubectl 操作示例

1、根据yaml配置文件一次性创建service和rc

代码语言:javascript
复制
kubectl create -f my-service.yaml -f my-rc.yaml

2、根据目录下所有.yaml、.yml、.json文件的定义进行创建操作

代码语言:javascript
复制
kubectl create -f <directory>

3、查看所有Pod列表

代码语言:javascript
复制
kubectl get pods

4、查看rc和service列表

代码语言:javascript
复制
kubectl get rc,service

5、显示Node的详细信息

代码语言:javascript
复制
kubectl describe nodes <node-name>

6、显示Pod的详细信息

代码语言:javascript
复制
kubectl describe pods/<pod-name>

7、显示由RC管理的Pod信息

代码语言:javascript
复制
kubectl describe pods <rc-name>

8、删除基于pod.yaml文件定义的Pod

代码语言:javascript
复制
kubectl delete -f pod.yaml

9、删除所有包含某个label的Pod和Service

代码语言:javascript
复制
kubectl delete pods,services -l name=<label-name>

10、删除所有Pod

代码语言:javascript
复制
kubectl delete pods --all

11、在Pod的容器里执行date命令,默认使用Pod中的第1个容器执行

代码语言:javascript
复制
kubectl exec <pod-name> date

12、指定Pod中某个容器执行date命令

代码语言:javascript
复制
kubectl exec <pod-name> -c <container-name> date

13、以bash方式登陆到Pod中的某个容器里

代码语言:javascript
复制
kubectl exec -it <pod-name> -c <container-name> /bin/bash

14、查看容器输出到stdout的日志

代码语言:javascript
复制
kubectl logs <pod-name>

15、跟踪查看容器的日志,相当于tail -f命令的结果

代码语言:javascript
复制
kubectl logs -f <pod-name> -c <container-name>

来源:https://blog.csdn.net/weixin_37700260/article/details/110790129

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps时代 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.kubectl用法详解
  • kubectl语法
  • 2.kubectl 子命令详解
  • 3.kubectl参数列表
  • 4.Kubectl 输出格式
  • 5.kubectl 操作示例
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档