初识Kubernetes(K8s):kubectl命令使用详

发布时间:2020-06-18 20:22:30 作者:xuad88
来源:网络 阅读:4476

一、kubectl用法概述

kubectl命令行语法如下:

kubectl [command] [type] [name] [flags]
参数说明:
command:子命令,用于管理和操作Kubernetes集群资源对象的命令。例如:create、delete、describe、get、apply等。
type:资源对象的类型,区分大小写,能以单数形式、复数形式或者简写形式表示。
kubectl get pod pod1  # 单数形式
kubectl get pods pod1   # 复数形式
kubectl get po pod1   #简写形式
name:资源对象的名称,区分大小写,如果不指定名称,则系统返回属于type的全部对象的列表。
flags:kubectl子命令的可选参数,例如使用“-s”指定apiserver的URL地址而不用默认值。

表1:kubectl可操作的资源对象类型

资源对象的名称 缩写
clusters
componentstatuses cs
configmaps cm
daemonsets ds
deployments deploy
endpoints ep
events ev
horizontalpodautoscalers hpa
ingresses ing
Jobs
limitranges limits
nodes no
namespaces ns
networkpolicies
statefulsets
persistentvolumeclaims pvc
persistentvolumes pv
pods po
podsecuritypolicies psp
podtemplates
replicasets rs
replicationcontrollers rc
cronjob
secrets
serviceaccounts
service svc
storageclasses sc
thirdpartyresources

二、kubectl子命令

kuberctl的子命令非常丰富,包括资源对象的创建、删除、查看、修改、配置、运行等。
表2:kubectl子命令语法
初识Kubernetes(K8s):kubectl命令使用详
初识Kubernetes(K8s):kubectl命令使用详
初识Kubernetes(K8s):kubectl命令使用详

三、kubectl参数

表3:kubectl命令行的公共启动参数
初识Kubernetes(K8s):kubectl命令使用详
每个子命令(如create、delete、get等)还有特定的flags参数,可以通过kubectl [command] --help命令进行查看。

四、kubectl输出格式

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

kubectl [command] [TYPE] [NAME] -o=<output_format>

表4:kubectl命令的输出格式
初识Kubernetes(K8s):kubectl命令使用详
常用的输出格式示例如下:
(1)显示Pod的更多信息

kubectl get pod <pod-name> -o wide

(2)以yaml格式显示Pod的详细信息

kubectl get pod <pod-name> -o yaml

(3)以自定义列名显示Pod的信息

kubectl get pod <pod-name> -o=custom-columns=NAME:.metadata.name,RSRC:.metadata.resourceVersion

(4)基于文件的自定义列名输出

kubectl get pods <pod-name> -o=custom-columns-file=template.txt
template.txt文件的内容为:
NAME              RSRC
metadata.name      metadata.resourceVersion
输出结果为:
NAME        RSRC
Pod-name     52305

另外,还可以将输出结果按某个字段排序,通过--sort-by参数以jsonpath表达式进行指定:

kubectl [command] [TYPE] [NAME] --sort-by=<jsonpath_exp>

例如,按照名字进行排序

kubectl get pods --sort-by=.metadata.name

五、kubectl操作示例

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

kubectl create -f my-service.yaml -f my-rc.yaml

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

kubectl create -f <directory>

3、查看所有Pod列表

kubectl get pods

4、查看rc和service列表

kubectl get rc,service

5、显示Node的详细信息

kubectl describe nodes <node-name>

6、显示Pod的详细信息

kubectl describe pods/<pod-name>

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

kubectl describe pods <rc-name>

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

kubectl delete -f pod.yaml

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

kubectl delete pods,services -l name=<label-name>

10、删除所有Pod

kubectl delete pods --all

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

kubectl exec <pod-name> date

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

kubectl exec <pod-name> -c <container-name> date

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

kubectl exec -it <pod-name> -c <container-name> /bin/bash

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

kubectl logs <pod-name>

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

kubectl logs -f <pod-name> -c <container-name>
推荐阅读:
  1. Kubernetes中的kubectl怎么用
  2. Kubernetes kubectl 命令自动补全

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

kubernetes k8s kubectl

上一篇:如何解析表达式

下一篇:Java 内存模型

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》