【实战加详解】二进制部署k8s高可用集群教程系列十六 - 部署kubelet-TLS Bootstrap证书方式

[!TIP]
二进制部署 k8s - 部署 kubelet

TLS Bootstrap 引导证书方式


转载请注明出处:https://janrs.com

部署 kubelet

1.TLS Bootstrap 引导证书方式

[!NOTE]
需要搞明白的是:TLS Bootstrap 是用来自动管理 kube-apiserverkubelet 颁发的客户端 client 证书的。


前面两个手动颁发证书方式以及自动颁发证书方式是用来颁发 kubeletserver 证书的。




这里的区别也是绝大部分新手被绕晕的地方之一。

官方文档地址:


(https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/bootstrap-tokens/)


(https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/)


(https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/authentication/#static-token-file)




在前面的手动颁发证书教程中提到的,kubelet 是通过 kubeconfig 文件访问 kube-apiserver 服务的。


需要为每个节点创建 system:node:<nodeName> 的节点用户,并且需要手动设置 kubeconfig


如果节点有几百个或者几千个,并且经常变动,那么管理难度可想而知。k8s 就提供了一个全自动的方式来管理 kubeletclient
证书。


这个方式就是 TLS Bootstrap 引导证书方式。具体的工作流程直接查看上面的官方说明。

1-1.停止所有服务

停止 master 上的三大组件的服务以及 node 节点上的 kubelet 以及 kube-proxy 服务




停止 master 三大组件的服务

systemctl stop kube-apiserver && \
systemctl stop kube-controller-manager && \
systemctl stop kube-scheduler

停止 node 节点上的 kubelet 以及 kube-proxy 服务

systemctl stop kubelet && \
systemctl stop kube-proxy

1-2.删除 kubelet.kubeconfig

删除 kubelet 节点上的 kubelet.kubeconfig。使用 TLS Bootstrap 机制会创建新的。并且跟原来的不一样。


如果不删除,检测到存在,会直接使用而不创建。从而导致鉴权失败,访问不了 kube-apiserver

rm -rvf /etc/kubernetes/kubeconfig/kubelet.kubeconfig

1-3.创建 auth-token.csv

[!NOTE]
初次连接 kube-apiserver 需要提供简单的身份认证。


身份认证方式有很多种,这里使用静态令牌认证文件。即:auth-token


格式为:token,user,uid,"group1,group2,group3"。多个 group 要加双引号,单个不能加。




该文件在哪里创建都可以,只要随机码至少是 128 位,文件格式为 csv


并且保证 masternodetoken 一致就行。

大多数 linux 都能提供生成 token 的方式

head -c 16 /dev/urandom | od -An -t x | tr -d ' '

显示

dafe33bc8fcdae7f9f16df53a95199fa

创建 auth-token.csv


复制上面生成的随机码

cat > /etc/kubernetes/config/auth-token.csv <<EOF
dafe33bc8fcdae7f9f16df53a95199fa,kubelet-bootstrap,10001,system:bootstrappers
EOF

分发到 master 节点


在哪里创建都可以。只要保证两边的认证数据都一样就行。

scp /etc/kubernetes/config/auth-token.csv root@172.16.222.121:/etc/kubernetes/config/ && \

scp /etc/kubernetes/config/auth-token.csv root@172.16.222.122:/etc/kubernetes/config/ && \

scp /etc/kubernetes/config/auth-token.csv root@1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值