banner
NEWS LETTER

Kubeasz部署Kubernetes集群

Scroll down

本文作者:丁辉

Kubeasz部署Kubernetes集群

Github官方文档

Github安装文档

节点名称 IP Kubernetes角色
k8s-master-1,Kubeasz管理 192.168.1.10 master,etcd,node
k8s-master-2 192.168.1.20 master,etcd,node
k8s-master-3 192.168.1.30 master,etcd,node

环境准备

  1. 配置免密

    1
    ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa -q
  2. 配置免密登录

    1
    2
    3
    ssh-copy-id root@192.168.1.10
    ssh-copy-id root@192.168.1.20
    ssh-copy-id root@192.168.1.30
  3. 更改主机名

    • 192.168.1.10

      1
      hostnamectl set-hostname k8s-master-1 && bash
    • 192.168.1.20

      1
      hostnamectl set-hostname k8s-master-2 && bash
    • 192.168.1.30

      1
      hostnamectl set-hostname k8s-master-3 && bash
  4. 编辑 /etc/hosts 文件

    1
    vi /etc/hosts

    添加如下内容

    1
    2
    3
    192.168.1.10 k8s-master-1
    192.168.1.20 k8s-master-2
    192.168.1.30 k8s-master-3

开始部署 Kubeasz

Github Releases

  1. 下载 ezdown

    1
    wget https://github.com/easzlab/kubeasz/releases/download/3.6.2/ezdown && chmod 777 ezdown

    下载支持 Docker 的版本

    1
    wget https://github.com/easzlab/kubeasz/releases/download/3.2.0/ezdown && chmod 777 ezdown
  2. 下载kubeasz代码、二进制、默认容器镜像

    • 国内环境

      1
      ./ezdown -D

      下载 flannel 镜像

      1
      ./ezdown -X flannel
    • 海外环境

      1
      ./ezdown -D -m standard

      下载 flannel 镜像

      1
      ./ezdown -D -m standard -X flannel
  3. 运行 Kubeasz

    1
    ./ezdown -S

    配置快捷命令

    1
    2
    echo "alias dk='docker exec -it kubeasz'" >> ~/.bashrc
    source ~/.bashrc

    配置后执行 dk 即可

  4. 创建新集群

    1
    dk ezctl new k8s-01
  5. 编辑 hosts 文件

    1
    vi /etc/kubeasz/clusters/k8s-01/hosts

    内容如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    # 'etcd' cluster should have odd member(s) (1,3,5,...)
    [etcd]
    192.168.1.10
    192.168.1.20
    192.168.1.30

    # master node(s)
    [kube_master]
    192.168.1.10 k8s_nodename='k8s-master-1'
    192.168.1.20 k8s_nodename='k8s-master-2'
    192.168.1.30 k8s_nodename='k8s-master-3'

    # work node(s)
    [kube_node]
    192.168.1.10 k8s_nodename='k8s-master-1'
    192.168.1.20 k8s_nodename='k8s-master-2'
    192.168.1.30 k8s_nodename='k8s-master-3'

    # VIP
    [ex_lb]
    192.168.1.10 LB_ROLE=master EX_APISERVER_VIP=192.168.1.100 EX_APISERVER_PORT=8443
    192.168.1.20 LB_ROLE=backup EX_APISERVER_VIP=192.168.1.100 EX_APISERVER_PORT=8443
    192.168.1.30 LB_ROLE=backup EX_APISERVER_VIP=192.168.1.100 EX_APISERVER_PORT=8443

    ...#此处省略
    # Cluster container-runtime supported: docker, containerd
    CONTAINER_RUNTIME="containerd"

    # Network plugins supported: calico, flannel, kube-router, cilium, kube-ovn
    CLUSTER_NETWORK="flannel"

    ...#此处省略
  6. 修改 config.yml 文件

    1
    vi /etc/kubeasz/clusters/k8s-01/config.yml

    内容如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    ############################
    # role:kube-master
    ############################
    # k8s 集群 master 节点证书配置,可以添加多个ip和域名(比如增加公网ip和域名)尽量预留一些IP使用
    MASTER_CERT_HOSTS:
    - "192.168.1.10"
    - "192.168.1.20"
    - "192.168.1.30"
    - "192.168.1.100"

开始安装 Kubernetes

  1. 安装

    1
    dk ezctl setup k8s-01 all

    或一步一步安装

    1
    2
    3
    4
    5
    # 初始化集群配置
    dk ezctl setup k8s-01 01
    # 安装 etcd
    dk ezctl setup k8s-01 02
    ...#此处省略
  2. 加载新配置

    1
    source ~/.bashrc
  3. 查看节点状态

    1
    kubectl get node

添加节点

官方文档

  • 添加 worker

    1
    dk ezctl add-node k8s-01 192.168.1.40 k8s_nodename='k8s-master-4'

    SSH 非 22 端口

    1
    dk ezctl add-node k8s-01 192.168.1.40 k8s_nodename='k8s-master-4' ansible_ssh_port=10022
  • 添加 master

    1
    dk ezctl add-master k8s-01 192.168.1.40 k8s_nodename='k8s-master-4'
  • 添加 etcd

    1
    dk ezctl add-etcd k8s-01 192.168.1.40

删除节点

  • 删除 worker

    1
    dk ezctl del-node k8s-01 192.168.1.40
  • 删除 master

    1
    dk ezctl del-master k8s-01 192.168.1.40
  • 删除 etcd

    1
    dk ezctl del-etcd k8s-01 192.168.1.40

I'm so cute. Please give me money.

其他文章
cover
包管理工具安装Kubectl
  • 70/01/01
  • 00:00
  • Kubernetes-部署文档
cover
Kubernetes手动证书签发
  • 70/01/01
  • 00:00
  • Kubernetes-部署文档
目录导航 置顶
  1. 1. Kubeasz部署Kubernetes集群
    1. 1.1. 环境准备
    2. 1.2. 开始部署 Kubeasz
    3. 1.3. 开始安装 Kubernetes
    4. 1.4. 添加节点
      1. 1.4.1. 删除节点
请输入关键词进行搜索