[TOC]html
经常使用查看资源对象(|rc|
)有namespace(ns)
pods
service(svc)
endpoints(ep)
deployment(deploy)
pvc
ingresses(ing)
,括号内为最简写法。 kubectl get |rc|
显示更多信息,在后面接-o wide
、-ojson
或者-o yaml
,同时查看多个资源对象用英文逗号隔开。
查看资源对象全名,可经过kubectl rc,|rc|
linux
建立时,注意文件内是否有namespace,若是没有,请在命令后面指定-n |namespace-name|
。
根据yaml配置文件一次性建立资源对象 kubectl create -f service.yaml -f deployment.yaml
根据|directory|
目录下全部.yaml
、.yml
、.json
文件的定义进行建立操做 kubectl create -f |directory|
json
对资源进行配置,最经常使用功能。 kubectl apply -f service.yaml
kubectl apply -f |directory|
windows
编辑资源对象时,编辑器为vi
,须要熟悉vi
命令操做。 kubectl edit deploy |deployment-name|
bash
若是日常是使用yaml文件维护,注意下次修改时的配置。 app
显示service
的详细信息 kubectl describe svc |service-name|
显示pod
的详细信息,其中显示的pod
启动过程事件能够帮助排错。 kubectl describe pods/|pod-name|
tcp
相似create
命令用法
基于deployment.yaml
定义的名称删除deployment
kubectl delete -f deployment.yaml
根据|directory|
目录下全部.yaml
、.yml
、.json
文件的定义进行建立删除 kubectl delete -f |directory|
删除全部包含某个label
的pod
和service
kubectl delete pods,svc -l name=|label-name|
编辑器
执行pod
的ls
命令,默认是用pod
中的第一个容器执行 kubectl exec -it |pod-name| -- ls
指定pod
中某个容器执行ls
命令 kubectl exec |pod-name| -c |container-name| ls
登陆容器(容器中命令存在时) kubectl exec -it |pod-name| /bin/sh
kubectl exec -it |pod-name| /bin/bash
ide
查看容器的所有日志。pod
中有多个容器时须要指定容器名kubectl logs |pod-name| [|container-name|]
相似tail -f
实时输出日志 kubectl logs -f |pod-name|
查看最近多少时间以来日志,并实时输出,适用于日志较多,运行较久的pod
kubectl logs -f |pod-name| --since 10m
ui
通常配合kubectl describe pods/|pod-name|
进行排错。
执行扩容缩容pod的操做,支持的资源对象有deployment
statefulset
daemonset
kubectl scale deploy |deployment-name| --replicas=2
扩容与缩容是相对于当前的replicas
数。若是日常是使用yaml文件维护,注意下次修改时的配置。
执行滚动升级操做 kubectl rolling-update |deployment-name| -f deployment.yaml
能够使用kubeclt rolling-update |deployment-name| --image=example:v2.0
直接指定镜像名称的方式直接升级。
还能够使用kubectl edit
命令达到滚动升级目的。若是日常是使用yaml文件维护,注意下次修改时的配置。
在集群节点外面链接集群,避免大量端口管理,能够做为开发调试经常使用功能。当前v1.12
版本还未支持tcp keepalived链接,所以链接不活动容易中断。kubectl port-forward svc/|service-name| 本机端口:服务端口 …
注意windows和linux目录斜杆差异 kubectl cp /local_path/filename |namespace|/|pod-name|:/container_path/
kubectl cp |namespace|/|pod-name|:/container_path/ /local_path/filename
其它技巧:
https://jimmysong.io/kubernetes-handbook/guide/kubectl-cheatsheet.html