初识Kubernetes(K8s):kubectl命令使用详
一、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子命令语法
三、kubectl参数
表3:kubectl命令行的公共启动参数
每个子命令(如create、delete、get等)还有特定的flags参数,可以通过kubectl [command] --help命令进行查看。
四、kubectl输出格式
kubectl命令可以用多种格式对结果进行显示,输出的格式通过-o参数指定:
kubectl [command] [TYPE] [NAME] -o=
表4:kubectl命令的输出格式
常用的输出格式示例如下:
(1)显示Pod的更多信息
kubectl get pod -o wide
(2)以yaml格式显示Pod的详细信息
kubectl get pod -o yaml
(3)以自定义列名显示Pod的信息
kubectl get pod -o=custom-columns=NAME:.metadata.name,RSRC:.metadata.resourceVersion
(4)基于文件的自定义列名输出
kubectl get pods -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=
例如,按照名字进行排序
kubectl get pods --sort-by=.metadata.name
五、kubectl操作示例
1、根据yaml配置文件一次性创建service和rc
kubectl create -f my-service.yaml -f my-rc.yaml
2、根据
kubectl create -f
3、查看所有Pod列表
kubectl get pods
4、查看rc和service列表
kubectl get rc,service
5、显示Node的详细信息
kubectl describe nodes
6、显示Pod的详细信息
kubectl describe pods/
7、显示由RC管理的Pod信息
kubectl describe pods
8、删除基于pod.yaml文件定义的Pod
kubectl delete -f pod.yaml
9、删除所有包含某个label的Pod和Service
kubectl delete pods,services -l name=
10、删除所有Pod
kubectl delete pods --all
11、在Pod的容器里执行date命令,默认使用Pod中的第1个容器执行
kubectl exec date
12、指定Pod中某个容器执行date命令
kubectl exec -c date
13、以bash方式登陆到Pod中的某个容器里
kubectl exec -it -c /bin/bash
14、查看容器输出到stdout的日志
kubectl logs
15、跟踪查看容器的日志,相当于tail -f命令的结果
kubectl logs -f -c
分享文章:初识Kubernetes(K8s):kubectl命令使用详
链接URL:http://scjbc.cn/article/pcdhee.html