k8s 使用技巧

kubectl

kubectl 自动补全

source < (kubectl completion bash) # setup autocomplete in bash, bash-completion package should be installed first.
source < (kubectl completion zsh)  # setup autocomplete in zsh

更详细的使用方法参考 kubectl completion --help。里面包含详细的说明,包含如何在 MacOS 上使用。

kubectl 上下文和配置

设置 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

打印当前使用 API 调用过程

kubectl 的主要作用就是与 ApiServer 进行交互, 而交互的过程, 我们可以通过下面的方式来打印,

# 这个命令尤其适合调试自己的api接口时使用.
kubectl get ns -v=9

-v 参数会打印执行过程的日志。范围为 0-99 最高,会打印最详细的信息。

生成yaml模板

# 有两种方式可以生成

# 方法一
kubectl create <resourcename> [parameters] --dry-run=client -o yaml > <filename>.yaml

# 方法二
kubectl explain <resourcename> --recursive > <filename>.yaml

第二种方法生成的更全面,但是会包含很多不必要的参数。

强制删除 Pod(即使处于Terminating)

kubectl delete pod $POD_ID --force --grace-period=0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值