Kubeadm和二进制方式搭建k8s集群的对比
😄kubeadm和二进制方式搭建k8s集群的对比
Kubeadm方式
很多东西kubeadm已经配置好了,只需要init即可
- 安装虚拟机,在虚拟机安装Linux操作系统【3台虚拟机】
- 对操作系统初始化操作
- 所有节点安装Docker、kubeadm、kubelet、kubectl【包含master和slave节点】
- 安装docker、使用yum,不指定版本默认安装最新的docker版本
- 修改docker仓库地址,yum源地址,改为阿里云地址
- 安装kubeadm,kubelet 和 kubectl
- k8s已经发布最新的1.19版本,可以指定版本安装,不指定安装最新版本
yum install -y kubelet kubeadm kubectl
- 在master节点执行初始化命令操作
kubeadm init
- 默认拉取镜像地址 K8s.gcr.io国内地址,需要使用国内地址
- 安装网络插件(CNI)
kubectl apply -f kube-flannel.yml
- 在所有的node节点上,使用join命令,把node添加到master节点上
- 测试kubernetes集群
二进制方式
很多东西都需要自己配置
- 安装虚拟机和操作系统,对操作系统进行初始化操作
- 生成cfssl 自签证书
ca-key.pem
、ca.pem
server-key.pem
、server.pem
- 部署Etcd集群
- 部署的本质,就是把etcd集群交给 systemd 管理
- 把生成的证书复制过来,启动,设置开机启动
- 为apiserver自签证书,生成过程和etcd类似
- 部署master组件,主要包含以下组件
- apiserver
- controller-manager
- scheduler
- 交给systemd管理,并设置开机启动
- 如果要安装最新的版本,下载二进制文件进行安装
- 部署node组件
- docker
- kubelet
- kube-proxy【需要批准kubelet证书申请加入集群】
- 交给systemd管理组件- 组件启动,设置开机启动
- 批准kubelet证书申请 并加入集群
- 部署CNI网络插件
- 测试Kubernets集群【安装nginx测试】