文章转载自:https://mp.weixin.qq.com/s/0kqQzeA-MzCOhPMkmiR4_A
kubectl是用来管理Kubernetes集群的命令行工具。
kubectl默认在“$HOME/.kube”目录中查找一个名为config的配置文件。你可以通过设置“KUBECONFIG”环境变量或设置“--kubeconfig”参数来指定其它kubeconfig文件。kubectl会使用这个kubeconfig中的apiserver地址与认证信息去从kubernetes接口中获取集群信息与操作集群。
kubectl命令速记
高清图片来源:https://cloudnativer.github.io/docs/k8skubectl.pdf
与docker命令对比
**操作 ** | **kubectl命令 ** | **docker命令 ** |
---|---|---|
查看软件版本 | kubectl version | docker version |
查看运行环境信息 | kubectl cluster-info | docker info |
运行容器 | kubectl run --image=nginx nginx-app --port=80 -- env="DOMAIN=cluster"**kubectl expose deployment nginx-app --port=80 --name=nginx-http | docker run -d --restart=always -e DOMAIN=cluster --name nginx-app -p 80:80 nginx |
查看运行的容器 | kubectl get podskubectl get deploymentkubectl get servic | docker ps |
交互式进入容器 | kubectl exec -it <容器名> -- /bin/bash | docker exec -it <容器 ID/NAME> /bin/bash |
查看容器日志 | kubectl logs -f <容器名> | docker logs -f <容器 ID/NAME> |
停止或删除容器 | kubectl delete deployment <Deployment 名称> kubectl delete service <Service 名称> | docker stop <容器 ID/NAME>**docker rm <容器 ID/NAME> |
kubectl 语法说明
kubectl可以使用以下语法在终端窗口执行命令:
kubectl [command] [TYPE] [NAME] [flags]
其中 command、TYPE、NAME 和 flags 分别是:
- command:指定要对一个或多个资源执行的操作,例如 create、get、describe、delete。
- TYPE:指定资源类型。资源类型不区分大小写, 可以指定单数、复数或缩写形式。例如,以下命令输出相同的结果:
kubectl get pod pod1
kubectl get pods pod1
kubectl get po pod1
kubectl get pods
- NAME:指定资源的名称。名称区分大小写。如果省略名称,则显示所有资源的详细信息 。
在对多个资源执行操作时,你可以按类型和名称指定每个资源,或指定一个或多个文件:
-- 使用 YAML 而不是 JSON 因为 YAML 更容易使用,特别是用于配置文件时。例子:kubectl get -f ./pod.yaml
-- 要对所有类型相同的资源进行分组,请执行以下操作:TYPE1 name1 name2 name<#>
。例子:kubectl get pod example-pod1 example-pod2
-- 分别指定多个资源类型:TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>
。例子:kubectl get pod/example-pod1 replicationcontroller/example-rc1
-- 要按类型和名称指定资源:
-- 用一个或多个文件指定资源:-f file1 -f file2 -f file<#>
- flags: 指定可选的参数。例如,可以使用
-s
或 -server 参数指定 Kubernetes API 服务器的地址和端口。