参考自:http://blog.51cto.com/lizhenliang/2325770 Master apiserver启用TLS认证后,Node节点kubelet组件想要加入集群,必须使用CA签发的有效证书才能与apiserver通信,当Node节点很多时,签署证书是一件很繁琐的事情,因此有了TLS Bootstrapping机制,kubelet会以一个低权限用户自动向apiserver申请证书,kubelet的证书由apiserver动态签署。
以下步骤在master中执行
如果出错,kubectl无此命令,可将kubectl添加到环境变量中
可随机生成一个32位字符串,用以创建一个token文件:
NOTE:一定要记得替换kubeconfig.sh中的BOOTSTRAP_TOKEN值,切记切记,否则可能kubectl get csr。get不到
kubeconfig文件创建及执行
将这两个配置文件拷贝到node中
注意:在node中创建相应文件夹
部署kubelet组件
将下载的kubernetes二进制包中的kubelet和kube-proxy拷贝到/opt/kubernetes/bin目录下。
以下步骤是在node中进行
kubelet的配置文件为
可进行kubelet的启动情况
在Master节点中审批Node加入集群:
启动后还没加入到集群中,需要手动允许该节点才可以。

在Master节点查看请求签名的Node:
部署kube-proxy组件
kube-proxy的配置文件如下
配置另一台node主机
将配置文件copy在另一个node02中
(1)首先由于在node01节点生成的kubelet相关文件不通用,需要删除并进一步颁发。(即删除下面列表中的kubelet.kubeconfig)

(2)修改kube-proxy文件
(3)修改kubelet文件
(4)删除/opt/kubernetes/ssl中的证书
然后就可以启动该node02中的kube啦
在Master节点中审批新的Node并加入集群:
查看请求签名的Node,并认证:
注:集群大规模认证的脚本# node_approve_csr.sh
查看集群状态
创建一个测试示例,测试集群是否正常工作
在master01中运行:
若出现下述错误:

解决方法:
在node上修改

成功:


在node上访问:curl 10.0.0.74:80
在浏览器上访问:任一node即可,如10.0.3.104:37279

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/55895.html