K8S二进制部署高可用集群-1.22[四]

本节前言:

本节关键字:KUBE-APISERVER、KUBECTL;

本节为部署K8S集群的"KUBE-APISERVER"组件,"KUBE-APISERVER"组件的主要作用为:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;发往集群的所有操作命令的接入点,并负责接收、校验并响应所有的请求,是整个集群的网关;

关于"KUBECTL"组件,主要作用为:命令行工具,用于管理K8S集群;

本节开始……

一、KUBE-APISERVER组件

注意:在执行本步骤前,你应该已经将[ kubectl、kube-apiserver ]这些文件保存至"/usr/local/bin"[192.168.100.41 - 43]:

以下操作均在[192.168.100.41]进行,然后按需要推送至[192.168.100.42 - 43];开始:生成"KUBE-APISERVER"相关证书:

生成"TOKEN.CSV"文件,注意,这份文件的作为主要为在"工作节点[KUBELET]"在加入K8S集群的过程中,用于向"KUBE-APISERVER"申请签发证书的中间过程[发起要求签发证书的请求]:

将证书与配置文件分发至其它服务器[分发至:192.168.100.42 - 43];

为"KUBE-APISERVER"生成"kube-apiserver.service"启动文件;本处特别注意,此文件非通用,需要修改的地方已在下文标注,请按实际情况生成;本步操作目标[192.168.100.41 - 43]:

启动"KUBE-APISERVER"组件[192.168.100.41 - 43];注意,此时你并不能使用"kubectl"命令去从"KUBE-APISERVER"组件中获取数据,因为缺失相关配置,但你应该可以看到"KUBE-APISERVER"组件的正常启动:

关于"KUBE-APISERVER"组件的部署至此结束~~

二、KUBECTL组件

以下操作均在[192.168.100.41]进行,然后按需要推送至[192.168.100.42 - 43];开始:生成"KUBECTL"组件的相关证书

生成"KUBECTL"组件的"kubectl.kubeconfig"配置文件,注意,有了这份配置文件,你便可以在任何计算机上以超级管理员的身份对K8S集群做任何操作[前提是你可以连接到前置的负载均衡器,又或者可以连接到K8S集群的MASTER节点(需要一点小修改)],请务必保证此文件的安全性:

将证书与配置文件分发至其它服务器[192.168.100.42 - 43];

复制"kubectl.kubeconfig"至指定位置;"kubectl"命令默认使用的配置文件位置为"~/.kube/config",本处假定当前用户为"root"用户:

测试"kubectl"命令与命令补全,你应该可以从"KUBE-APISERVER"的服务中获取到一些集群的信息:

关于"KUBECTL"组件的配置至此结束~~

结、

关于"KUBE-APISERVER"与"KUBECTL"组件,本节实际上已经写了很多了,但实际上还有更更多的东西,别问博主,实际博主也了解得很少……下一节将是关于"KUBE-CONTROLLER-MANAGER"组件与"KUBE-SCHEDULER"组件的二进制部署,完成了下一节的那两个组件的部署,实际上一个MASTER节点就已经部署完成了。本篇完,读者可点击以下链接进入下一章或返回上一章;

下一章:K8S二进制部署高可用集群-1.22 [五] KUBE-CONTROLLER-MANAGER组件与KUBE-SCHEDULER组件

上一章:K8S二进制部署高可用集群-1.22 [三] ETCD集群部署

网友评论2

  1. 沙发
    1:

    按你的文档操作, kube-api死活起不来。。 我醉了。 真是怀疑人生了!

    2021-11-16 下午9:04 [回复]
    • Edward:

      本来就是很不容易,要看你用什么版本的K8S,不同版本可能还有区别,查看报错提示

      2021-11-19 上午11:35 [回复]

发表评论

表情
还能输入210个字