kubectl是k8s集群的命令行工具,实现用户通过命令对kubernetes集群进行管理。
kubectl用户概述
$ kubectl [command] [type] [name] [flags]
command:子命令,可以操作各种集群资源对象,如:apply、delete、get、describe...
type:指定资源对象类型,区分大小写。
name:资源对象的名称,区分大小写,如果不指定将打印此type的全部对象列表。
flags:子命令可选参数。
kubectl操作示例
- 列出可用的API资源对象类型列表
[ty@test ~]$ kubectl api-resources
- 创建资源对象 create
根据yaml文件创建service和rc:
$ kubectl create -f ./my-service.yaml -f my-rc.yaml
根据目录下所有yaml、yml、json文件的资源定义创建资源:
$ kubectl create -f ./
- 查看资源对象 get
查看所有pod列表:
$ kubectl get pods
$ kubect get pods -n kube-system
查看rc、service列表:
$ kubectl get rc,service
- 描述资源对象 describe
显示node的详细信息:
$ kubectl describe nodes
查看pod的详细信息:
$ kubect describe pod
查看rc管理的pod信息
$ kubectl describe pods
- 删除资源对象 delete
基于yaml文件定义删除pod:
$ kubectl delete -f ./pod.yaml
删除所有包含某个Label的pod和service:
$ kubectl delete pods,services -l name =
删除所有pod:
$ kubectl delete pods --all
- 执行容器命令 exec
执行pod的date命令,默认使用pod中的第一个容器执行:
$ kubectl execdate
指定pod中的某个容器执行date命令:
$ kubectl exec-c date
通过bash获得pod中的某个TTY,相当于登录容器:
$ kubectl exec -ti-c /bin/bash
- 查看容器日志: logs
查看容器输出到stdout的日志:
$ kubectl logs
跟踪查看容器的日志,相当于‘tail -f':
$ kubectl logs -f
- 创建或者更新资源对象 apply
与create类似,不同:如果资源存在就进行更新操作
$ kubectl apply -f app.yaml
- 在线编辑运行中的资源对象 edit
#执行之后类似用vi编辑器打开文件进行编辑操作。
$ kubectl edit deploy
- 将pod的开发端口映射到本地 port-forward
#将pod的80端口映射到本地的8080端口
$ kubectl port-forward --address 0.0.0.08080:80
- 在pod和本地文件系统之间复制文件 cp
# 把pod中的/etc/hosts文件复制到本地的/tmp目录
$ kubectl cp
- 资源对象的标签设置 label
为默认的namespace设置testing=true标签
$ kubectl label namespaces default testing=true
本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/1298080.html