K8S集群搭建-Ansible 离线模式

简介

由于卫生专网封闭性,对于集群的搭建离线模式是比较好的一种方式。本篇文章介绍如果使用离线模式搭建K8S集群

集群规划

角色 节点EIP 节点内部IP 配置 用户名

密码

操作系统
云端K8S-Master 10.228.82.9 10.10.0.160 4C16G 40G系统盘200G数据盘 root ***** CentOS7.6
云端K8S-Worker-1 10.228.82.232 10.10.0.135 4C16G 40G系统盘200G数据盘 root ***** CentOS7.6
云端K8S-Worker-2 10.228.82.36 10.10.0.196 4C16G 40G系统盘200G数据盘 root ***** CentOS7.6

部署前提

  1. 使用master节点作为Ansible的部署节点,所以需要将master节点与所有节点做免密操作
  2. 完成所有节点的系统内核参数优化
  3. master节点上安装ansible工具

部署步骤

  1. 将kubeasz的工具以及离线部署所需要的文件上传到master节点上,下载地址如下:

    链接:https://pan.baidu.com/s/1KJgc4EnCU6qudc-TY2WeiQ
    提取码:z1n2


     
  2. 以root账号登录master节点,将上传的文件解压到/etc 目录,

    tar -zxvf -C /etc/  kubeasz.1.18.18.tar.gz 

  3. 初始化集群

    cd /etc/kubeasz
    ./ezctl init k8s #其中k8s为集群的名字

  4. 修改集群的配置文件,hosts 和config.yml

    vi /etc/kubeasz/clusters/k8s/hosts #将etc,kube_master,kube_node配置为正确的ip信息,其他内容保持不变
    
    
    # 'etcd' cluster should have odd member(s) (1,3,5,...)
    [etcd]
    10.10.0.160
    # master node(s)
    [kube_master]
    10.10.0.160
    # work node(s)
    [kube_node]
    10.10.0.135
    10.10.0.196

    vi /etc/kubeasz/clusters/k8s/config.yml #将安装模式改为offline,docker的信任仓库改为所有,在卫生专网中,只能访问内部的容器仓库
    
    
    ############################
    # prepare
    ############################
    # 可选离线安装系统软件包 (offline|online)
    INSTALL_SOURCE: "offline"
    
    
    # [docker]信任的HTTP仓库
    INSECURE_REG: '["0.0.0.0/0"]'
    
    
    

  5. 创建集群

    cd /etc/kubeasz
    ./ezctl setup k8s all #等待集群部署完成,脚本会自动安装docker,cni等组件

  6. 验证集群,在master节点上执行kubectl get node,确保所有的节点都是ready状态

    [root@vm10-10-0-160 k8s]# kubectl get node
    NAME          STATUS                     ROLES        AGE    VERSION
    10.10.0.135   Ready                      node         7h5m   v1.18.18
    10.10.0.160   Ready,SchedulingDisabled   master       7h6m   v1.18.18
    10.10.0.196   Ready                      node         7h5m   v1.18.18

你可能感兴趣的:(K8S,Ansible,K8S)