CC00067.CloudKubernetes——|KuberNetes&二进制部署.V20|3台Server|——|TLS_BootStrapping|证书生成流程|

一、TLS Bootstrapping证书详解
### --- 证书详解

~~~     此环境中ControllerManager/Scheduler组件是手动颁发的证书。
~~~     TLS Bootstrapping:是为node节点自动的生成 和管理证书的。
~~~     Node节点为什么不去手动的生成证书和管理证书:因为node节点动态性比较强,
~~~     不像master节点下的ControllerManager/Scheduler这类组件部署之后就不会动。
~~~     而Keepalived的主机名和node节点的主机名是有绑定的,
~~~     所以说当手动管理证书的情况下,集群规模很大的时候,管理起来就比较麻烦。
~~~     controller-manager安装的时候为每个k8s的组件都生成了一个controller-manager.kubeconfig文件;
~~~     这个文件保存了apiserver的信息及去连接apiserver是所需要的证书。
### --- 查看apiserver保存的证书信息

[root@k8s-master01 ~]# cat /usr/lib/systemd/system/kube-controller-manager.service 
        --kubeconfig=/etc/kubernetes/controller-manager.kubeconfig \                //在这个文件指定了controller-manager.kubeconfig
[root@k8s-master01 ~]# ls /etc/kubernetes/controller-manager.kubeconfig 
/etc/kubernetes/controller-manager.kubeconfig
### --- 这个组件在启动的时候会拿着这个文件达到认证的作用,通讯是加密的。
~~~     查看kubelet.kubeconfig

[root@k8s-master01 ~]# ls /etc/kubernetes/kubelet.kubeconfig 
/etc/kubernetes/kubelet.kubeconfig
### --- kubelet也有自己的证书。

~~~     kubelet不建议手动去颁发管理证书。所以引入了TLS Bootstrapping;
~~~     它会为kubelet自动的去颁发一个kubelet.kubeconfig证书。
二、TLS BootStrapping证书生成流程
### --- TLS证书生成原理

~~~     在配置一个Node节点的时候,Node节点上是没有这个文件的。
~~~     # 生成原理:通过bootstrap-kubelet.kubeconfig该文件和ApiServer进行交互然后自动的去申请一个kubelet.kubeconfig 文件
~~~     若是Node节点再启动的时候,没有kubelet.kubeconfig这个文件,
~~~     它会拿这个bootstrap-kubelet.kubeconfig文件也就是BootStrapping认证的kubeconfig
~~~     去申请一个kubelet.kubeconfig,然后在去启动它的进程。
三、TLS证书生成流程
### --- 查看kubernetes证书文件并删除原有的kubelet.kubeconfig配置文件
~~~     # 查看kubernetes证书文件

[root@k8s-node02 ~]# ls /etc/kubernetes/
bootstrap-kubelet.kubeconfig
kubelet.kubeconfig
~~~     # 删除原有的 kubelet.kubeconfig文件

[root@k8s-node02 ~]# rm -rf /etc/kubernetes/kubelet.kubeconfig
### --- 查看kubelet.conf的配置
~~~     # 查看配置文件 

[root@k8s-node02 ~]# cat /etc/systemd/system/kubelet.service.d/10-kubelet.conf 
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.kubeconfig --kubeconfig=/etc/kubernetes/kubelet.kubeconfig"
~~~     注:解释说明
    --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.kubeconfig // 指定的kubeconfig文件
    --kubeconfig=/etc/kubernetes/kubelet.kubeconfig"                    // 生成的文件
### --- 重启kubelet并生成证书文件
~~~     # 重启kubelet         

[root@k8s-node02 ~]# systemctl restart kubelet
~~~     # 查看生成的kubeconfig证书文件,生成完之后就会和ApiServer进行交互

[root@k8s-node02 ~]# ll /etc/kubernetes/kubelet.kubeconfig 
-rw------- 1 root root 2369 Apr 11 18:46 /etc/kubernetes/kubelet.kubeconfig
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值