kubectl命令技巧大全
Kubctl 命令是操作 kubernetes 集群的最直接和最 skillful 的途径,这个60多MB大小的二进制文件,到底有啥能耐呢?请看下文:
Kubectl 自动补全
$ source <(kubectl completion bash) # setup autocomplete in bash, bash-completion package should be installed first.
$ source <(kubectl completion zsh) # setup autocomplete in zshKubectl 上下文和配置
设置 kubectl 命令交互的 kubernetes 集群并修改配置信息。参阅 使用 kubeconfig 文件进行跨集群验证 获取关于配置文件的详细信息。
$ kubectl config view # 显示合并后的 kubeconfig 配置
# 同时使用多个 kubeconfig 文件并查看合并后的配置
$ KUBECONFIG=~/.kube/config:~/.kube/kubconfig2 kubectl config view
# 获取 e2e 用户的密码
$ kubectl config view -o jsonpath='{.users[?(@.name == "e2e")].user.password}'
$ kubectl config current-context # 显示当前的上下文
$ kubectl config use-context my-cluster-name # 设置默认上下文为 my-cluster-name
# 向 kubeconf 中增加支持基本认证的新集群
$ kubectl config set-credentials kubeuser/foo.kubernetes.com --username=kubeuser --password=kubepassword
# 使用指定的用户名和 namespace 设置上下文
$ kubectl config set-context gce --user=cluster-admin --namespace=foo \
&& kubectl config use-context gce创建对象
Kubernetes 的清单文件可以使用 json 或 yaml 格式定义。可以以 .yaml、.yml、或者 .json 为扩展名。
显示和查找资源
更新资源
修补资源
使用策略合并补丁并修补资源。
编辑资源
在编辑器中编辑任何 API 资源。
Scale 资源
删除资源
与运行中的 Pod 交互
与节点和集群交互
资源类型
下表列出的是 kubernetes 中所有支持的类型和缩写的别名。
资源类型
缩写别名
clusters
componentstatuses
cs
configmaps
cm
daemonsets
ds
deployments
deploy
endpoints
ep
event
ev
horizontalpodautoscalers
hpa
ingresses
ing
jobs
limitranges
limits
namespaces
ns
networkpolicies
nodes
no
statefulsets
persistentvolumeclaims
pvc
persistentvolumes
pv
pods
po
podsecuritypolicies
psp
podtemplates
replicasets
rs
replicationcontrollers
rc
resourcequotas
quota
cronjob
secrets
serviceaccount
sa
services
svc
storageclasses
thirdpartyresources
格式化输出
要以特定的格式向终端窗口输出详细信息,可以在 kubectl 命令中添加 -o 或者 -output 标志。
Kubectl 详细输出和调试
使用 -v 或 --v 标志跟着一个整数来指定日志级别。
详细等级
描述
--v=0
总是对操作人员可见。
--v=1
合理的默认日志级别,如果您不需要详细输出。
--v=2
可能与系统的重大变化相关的,有关稳定状态的信息和重要的日志信息。这是对大多数系统推荐的日志级别。
--v=3
有关更改的扩展信息。
--v=4
调试级别详细输出。
--v=6
显示请求的资源。
--v=7
显示HTTP请求的header。
--v=8
显示HTTP请求的内容。
参考
本文是对官方文档的中文翻译,原文地址:https://kubernetes.io/docs/user-guide/kubectl-cheatsheet/
Last updated
Was this helpful?