搭建K8S集群的几种方式介绍

0    90    2

👉 本文共约1485个字,系统预计阅读时间或需6分钟。

简介

  • Master Node k8s 集群控制节点,对集群进行调度管理,接受集群外用户去集群操作请求;
    Master Node 由 API Server、Scheduler、ClusterState Store(ETCD 数据库)和Controller MangerServer 所组成
  • Worker Node集群工作节点,运行用户业务应用容器;
    Worker Node 包含 kubelet、kube proxy 和 ContainerRuntime;

架构

单master集群

单个master节点,然后管理多个node节点

image-20200928110456495

多master集群

多个master节点,管理多个node节点,同时中间多了一个负载均衡的过程

image-20200928110543829

架构方式

目前生产部署Kubernetes集群主要有两种方式:kubeadm和二进制包。

Kubeadm降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署Kubernetes集群,虽然手动部署麻烦点,期间可以学习很多工作原理,也利于后期维护。

kubeadm

kubeadm是一个K8S部署工具,提供kubeadm init 和 kubeadm join,用于快速部署Kubernetes集群

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

官网地址:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

二进制包

从github下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。

两种方式搭建集群的对比

Kubeadm 方式搭建 K8S 集群

  • 安装虚拟机,在虚拟机安装 Linux 操作系统【3 台虚拟机】
  • 对操作系统初始化操作
  • 所有节点安装 Docker、kubeadm、kubelet、kubectl【包含 master 和 node 节点】
    • 安装 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 集群

二进制方式搭建 K8S 集群

  • 安装虚拟机和操作系统,对操作系统进行初始化操作
  • 生成 cfssl 自签证书
    • ca-key.pemca.pem
    • server-key.pemserver.pem
  • 部署 Etcd 集群
    • 部署的本质,就是把 etcd 集群交给 systemd 管理
    • 把生成的证书复制过来,启动,设置开机启动
  • 安装 Docker
  • 部署 master 组件,主要包含以下组件
    • apiserver
    • controller-manager
    • scheduler
    • 交给 systemd 管理,并设置开机启动
    • 如果要安装最新的 1.19 版本,下载二进制文件进行安装
  • 部署 node 组件
    • kubelet
    • kube-proxy【需要批准 kubelet 证书申请加入集群】
    • 交给 systemd 管理组件- 组件启动,设置开机启动
  • 批准 kubelet 证书申请 并加入集群
  • 部署 CNI 网络插件
  • 测试 Kubernets 集群【安装 nginx 测试】

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

20 + 14 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部