脚本宝典收集整理的这篇文章主要介绍了4. 二进制配置 Kubectl 命令行工具,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
kubectl 默认从 ~/.kube/config
配置文件获取访问 kube-apiserver 地址、证书、用户名等信息
#一键安装kubectl 需保证yum源中存在资源
$ yum install kubectl
kubectl 与 kube-apiserver 的安全端口通信,需要为安全通信提供 TLS 证书和秘钥。
创建 admin 证书签名请求
$ cd /root/CFssldir
$ cat admin-csr.json
{
"CN": "admin",
"hosts": [],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "BeiJing",
"L": "BeiJing",
"O": "System:masters",
"OU": "System"
}
]
}
kube-apiserver
使用 RBAC
对客户端(如 kubelet
、kube-Proxy
、Pod
)请求进行授权;kube-apiserver
预定义了一些 RBAC
使用的 RoleBindings
,如 cluster-admin
将 Group system:masters
与 Role cluster-admin
绑定,该 Role 授予了调用kube-apiserver
所有 API的权限;system:masters
,kubelet
使用该证书访问 kube-apiserver
时 ,由于证书被 CA 签名,所以认证通过,同时由于证书用户组为经过预授权的 system:masters
,所以被授予访问所有 API 的权限;生成 admin 证书和私钥,创建kubectl文件夹,用于存放相关文件
$ cfssl gencert -ca=/root/cfssldir/ca.PEm
-ca-key=/root/cfssldir/ca-key.pem
-config=/root/cfssldir/ca-config.JSON
-PRofile=kubernetes admin-csr.json | cfssljson -bare admin
$ ls admin*
admin.csr admin-csr.json admin-key.pem admin.pem
$ mkdir -p /root/kubectl
$ sudo cp admin*.pem ca.pem /root/kubectl
$ cd /root/kubectl
$ vim createkubectlcfg.sh
# 设置集群参数
kubectl config set-cluster kubernetes
--certificate-authorITy=/root/kubectl/ca.pem
--embed-certs=true
--server=https://100.69.218.95:6443
--kubeconfig=kubectl.kubeconfig
# 设置客户端认证参数
kubectl config set-credentials admin
--client-certificate=/root/kubectl/admin.pem
--embed-certs=true
--client-key=/root/kubectl/admin-key.pem
--kubeconfig=kubectl.kubeconfig
# 设置上下文参数
kubectl config set-context kubernetes
--cluster=kubernetes
--user=admin
--kubeconfig=kubectl.kubeconfig
# 设置默认上下文
kubectl config use-context kubernetes --kubeconfig=kubectl.kubeconfig
--certificate-authority
:验证 kube-apiserver 证书的根证书;--client-certificate、--client-key
:刚生成的 admin 证书和私钥,连接 kube-apiserver 时使用;--embed-certs=true
:将 ca.pem 和 admin.pem 证书内容嵌入到生成的 kubectl.kubeconfig 文件中(不加时,写入的是证书文件路径);生成kubectl.kubeconfig 文件并替换原始配置
$ chmod +x createkubectlcfg.sh
$ bash createkubectlcfg.sh
$ cp kubectl.kubeconfig ~/.kube/config
执行如下命令,有正常返回值则配置成功:
kubectl get cs
以上是脚本宝典为你收集整理的4. 二进制配置 Kubectl 命令行工具全部内容,希望文章能够帮你解决4. 二进制配置 Kubectl 命令行工具所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。