简介
本章节主要讲解k8s-1.34的master组件的安装,包括:kube-apiserver,kube-controller-manager,kube-scheduler的安装。
== 文章导航===
【k8s-1.34.2安装部署】一.系统初始化及k8s集群规划
【k8s-1.34.2安装部署】二.kubernets软件、证书、配置、脚本等文件准备
【k8s-1.34.2安装部署】三.etcd-v3.6.6 TLS版集群安装
【k8s-1.34.2安装部署】四.kubernets master组件kube-apiserver,kube-controller-manager,kube-scheduler安装
【k8s-1.34.2安装部署】五.worker端containerd2.2.1、kubelet-1.34.2安装
【k8s-1.34.2安装部署】六.企业级部署cilium-1.18.4网络插件
【k8s-1.34.2安装部署】七.coredns-v1.13.1安装
【k8s-1.34.2安装部署】八.metric-server-0.8.0安装
【k8s-1.34.2安装部署】九.k8s管理平台xkube安装部署
【k8s-1.34.2安装部署】十.gateway Api v1.4.0安装
【k8s-1.34.2安装部署】十一.metallb-v0.15.2安装
一.安装master的组件
1.1. 安装包安装
在第二章时我们准备了master的安装包,接下来我们只需要将安装包中的内容拷贝到对应的目录并启动即可,将master目录及文件拷贝到/opt/kubernetes下,并将*.service 四个启动脚本拷贝到/usr/lib/systemd/system/
master节点目录结构:
├── bin
│ ├── kube-apiserver
│ ├── kube-controller-manager
│ ├── kubelet
│ └── kube-scheduler
├── conf
│ ├── kube-apiserver.conf
│ ├── kube-controller-manager.conf
│ ├── kube-controller-manager.kubeconfig
│ ├── kubelet-bootstrap.kubeconfig
│ ├── kubelet.yaml
│ ├── kube-scheduler.conf
│ ├── kube-scheduler.kubeconfig
│ └── token.csv
├── kube-apiserver.service
├── kube-controller-manager.service
├── kubelet.service
├── kube-scheduler.service
├── logs
└── ssl
├── ca-key.pem
├── ca.pem
├── kube-apiserver-key.pem
├── kube-apiserver.pem
├── kube-controller-manager-key.pem
├── kube-controller-manager.pem
├── kube-scheduler-key.pem
├── kube-scheduler.pem
├── proxy-client-key.pem
└── proxy-client.pem
1.2.配置主机名映射
修改/etc/hosts,添加如下配置,在安装apiserver、kube-controller-manager、kube-scheduler 上都要配置如下映射
192.168.10.185 etcd01.my-k8s.local
192.168.10.186 etcd02.my-k8s.local
192.168.10.187 etcd03.my-k8s.local
192.168.10.185 apiserver.my-k8s.local
二.启动master 组件服务
在三台机上分别执行如下命令启动master相关组件kube-apiserver、kube-controller-manager、kube-scheduler。kubelet 暂时先不启动,等master相关组件都启动正常以后,安装完containerd以后再启动。注意启动顺序,需要先启动apiserver
systemctl daemon-reload
systemctl enable kube-apiserver
systemctl enable kube-controller-manager
systemctl enable kube-scheduler
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
三.验证master组件安装是否正常
在启动成功以后,将kube.kubeconfig 拷贝到/root/.kube/config ,然后执行命令:
kubectl get cs结果如下:
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok
scheduler Healthy ok
etcd-0 Healthy ok
四.执行授权
1.授权apiserver读取节点的信息,命令:
kubectl apply -f authorization.yaml
2. 授权kubelet 节点可以访问apiserver ,命令:kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
五.master机器安装containerd 和 kubelet
此处参考下一章:worker端containerd2.2.1、kubelet-1.34.2安装