沟通交流

开源项目地址: kubez-ansible, 欢迎 star + fork
搜索微信号 yingjuncz, 备注(博客), 验证通过会加入群聊
bilibili 技术分享地址

依赖条件

部署步骤

  1. 检查虚拟机默认网卡配置:

    a. 默认网卡为 eth0, 如果环境实际网卡不是 eth0,则需要手动指定网卡名称:

     编辑 /etc/kubez/globals.yml 文件,取消 network_interface: "eth0" 的注解,并修改为实际网卡名称
    
  2. 确认集群环境连接地址:

    a. 内网连接: 无需更改

    b. 公网地址:

    编辑 /etc/kubez/globals.yml 文件,取消 #kube_vip_address: "172.16.50.250" 的注解,并修改为实际公网地址 云平台环境需要放通公网ip到后面节点的6443端口
    
  3. 配置工作目录下的 multinode ,
    根据实际情况添加主机信息, 并完成如下配置

    a. 打通部署节点(运行 kubez-ansible 的节点) 到其他节点的免密登陆
    
    b. 配置部署节点的 /etc/hosts , 添加 kubernetes 节点的ip和主机名解析
    
    c. multinode 配置格式,推荐:
       # 如果 cri 选择 docker,则仅需配置 [docker-master] 和 [docker-node]
       [docker-master]
       kube01
    
       [docker-node]
       kube02
    
       # 如果 cni 选择 containerd,则仅需配置 [containerd-master] 和 [containerd-node]
       [containerd-master]
       kube01
    
       [containerd-node]
       kube02
    
       [storage]
       kube01
    
  4. 执行如下命令,进行 kubernetes 的依赖安装

    kubez-ansible -i multinode bootstrap-servers
    
  5. 根据实际需要,调整配置文件 /etc/kubez/globals.yml

    enable_kubernetes_ha: "yes"  # (可选)启用多控高可用, 需保证 multinode 的 control 组为奇数
    
    cluster_cidr: "172.30.0.0/16"  # pod network
    service_cidr: "10.254.0.0/16"  # service network
    
    # network cni, 现支持flannel 和 calico, 默认是 flannel
    enable_calico: "no"
    
  6. 执行如下命令,进行 kubernetes 的集群安装

    kubez-ansible -i multinode deploy
    
  7. 验证环境

    [root@kube01 ~]# kubectl get node
    NAME     STATUS   ROLES                  AGE     VERSION
    kube01   Ready    control-plane,master   21h     v1.23.6
    kube02   Ready    <none>                 21h     v1.23.6
    kube03   Ready    <none>                 3h48m   v1.23.6