如果您像我一样对每24小时更新kubeconfig感到烦恼,那么我创建了一个简单的脚本,该脚本在不到期的情况下生成永久的kubeconfig文件。
显然,如果您有1个以上的karbon群集可以管理,则此脚本是有道理的。
#!/bin/bash
如果[-n“ $ 1”];然后
回声群集名称:$ 1。
别的
回声“未指定群集名称”。
出口1
fi
Kubectl创建ServiceAccount -namespace Kube-System Superuser
kubectl创建clusterrolebinding superuser-rule-clusterrole = cluster-admin -serviceaccount = kube-system:SuperSupera = $(kubectl -n kube -system描述秘密/$(kubectl -n kube -system get sa/superuser -o jsonpath ='{。secrets [0] .name}')| awk'{for(i = 1; i <= nf; i ++)if($ i ==“ token:”)打印$(i+1)}')
b = $(kubectl config view -flatten -flatten-minify | awk'{for(i = 1; i <= nf; i ++)if($ i ==“ cidtier-authority-data:”)打印$(i+(i+)1)}')
c = $(kubectl config视图-flatten -flatten -minify | awk'{for(i = 1; i <= nf; i ++)if($ i ==“ server:”)print $(i+1)}')
d = $(kubectl config视图-flatten -minify | awk'{for(i = 1; i <= nf; i ++)if($ i ==“ name:”)打印$(i+1)}'|头-1)cat << eof> kubeconfig。$ 1
apiversion:v1
类型:config
用户:
- 名称:超级用户
用户:
令牌:$ a
集群:
- 簇:
证书 - 授权数据:$ b
服务器:$ c
名称:$ D
上下文:
- 语境:
集群:$ D
用户:超级用户
名称:$ d-context
当前字母:$ d-context
eof
脚本可以通过多种方式进行改进,因此请按原样保留并做任何您想做的事,不要要求支持:)
希望能帮助到你