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.pemca.pem
    • server-key.pemserver.pem
  • 部署Etcd集群
    • 部署的本质,就是把etcd集群交给 systemd 管理
    • 把生成的证书复制过来,启动,设置开机启动
  • 为apiserver自签证书,生成过程和etcd类似
  • 部署master组件,主要包含以下组件
    • apiserver
    • controller-manager
    • scheduler
    • 交给systemd管理,并设置开机启动
    • 如果要安装最新的版本,下载二进制文件进行安装
  • 部署node组件
    • docker
    • kubelet
    • kube-proxy【需要批准kubelet证书申请加入集群】
    • 交给systemd管理组件- 组件启动,设置开机启动
  • 批准kubelet证书申请 并加入集群
  • 部署CNI网络插件
  • 测试Kubernets集群【安装nginx测试】