部署k8s(二)

部署master组件

###在master节点上操作

上传压缩包

 创建kubernetes工作目录

 创建用于生成CA证书、相关组件的证书和私钥的目录

 复制master组件的关键命令文件到Kubernetes工作目录的bin子目录中

 k8s通过kube-apiserver这个进程提供服务,该进程运行单个master节点上。默认两个端口6443和8080

 部署Work Node组件

在master01节点上操作

 在node01节点上操作

 在master01节点上操作

 

kubelet采用TLS Bootstrapping 机制,自 动完成到kube -apiserver的注册,在node节点量较大或者后期自动扩容时非常有用。
Master apiserver 启用TLS 认证后,node 节点kubelet 组件想要加入集群,必须使用CA签发的有效证书才能与apiserver 通信,当node节点很多时,签署证书是一件很繁琐的事情。因此Kubernetes 引入了TLS bootstraping 机制来自动颁发客户端证书,kubelet会以一个低权限用户自动向apiserver 申请证书,kubelet 的证书由apiserver 动态签署。

kubelet首次启动通过加载bootstrap.kubeconfig中的用户Token 和apiserver CA证书发起首次CSR请求,这个Token被预先内置在apiserver 节点的token.csv 中,其身份为kubelet-bootstrap 用户和system: kubelet- bootstrap用户组:想要首次CSR请求能成功(即不会被apiserver 401拒绝),则需要先创建一个ClusterRoleBinding, 将kubelet-bootstrap 用户和system:node - bootstrapper内置ClusterRole 绑定(通过kubectl get clusterroles 可查询),使其能够发起CSR认证请求。

TLS bootstrapping 时的证书实际是由kube-controller-manager组件来签署的,也就是说证书有效期是kube-controller-manager组件控制的; kube-controller-manager 组件提供了一个--experimental-cluster-signing-duration参数来设置签署的证书有效时间:默认为8760h0m0s, 将其改为87600h0m0s, 即10年后再进行TLS bootstrapping 签署证书即可。

也就是说kubelet 首次访问API Server 时,是使用token 做认证,通过后,Controller Manager 会为kubelet生成一个证书,以后的访问都是用证书做认证了。

 

 在node01节点上操作

在master01节点上操作

 

 

 

 

 在 node01 节点上操作

 

 

 

 

 node02 节点部署

 

 node2上操作

 

 在 master01 节点上操作

 

 

 

 

 

 

posted @ 2021-10-28 21:32  盛世丑八怪  阅读(74)  评论(0)    收藏  举报