使用kubeasz快速部署Kubernetes集群(实录)

最近想在自己的测试服务器上安装一个Kubernetes集群环境,本想使用rancher的RKE进行部署,后面听朋友说国内的kubeasz不错,可以进行离线安装,它的优势主要是很好了解决了“墙”国的特有网络问题,并且支持离线安装。因此在国内使用这个工具有非常大的优势,因为你使用其他部署工具基本都是需要访问国外源的,“墙”的问题总是绕不开的。这里简单记录下部署过程。
参考官方github:
https://github.com/easzlab/kubeasz/tree/master

部署规划

我只是需要一个测试环境,计划使用3个虚拟机,1个做master,2个做work node节点。首先在自己的虚拟化环境生成3个虚拟机,操作系统rocky9.3。
在这里插入图片描述

部署记录

刚开始的时候询问的AI,并且根据AI的操作步骤去做,部署过程碰到一系列安装包依赖的问题,后面才意识到走弯路了,还是直接找到官方github到指导文档进行安装。其中的关键点是部署环境使用官方推荐的容器方式,这样就不用自己去安装ansible和相关的依赖包。参考:
https://github.com/easzlab/kubeasz/blob/master/docs/setup/offline_install.md
可以说这个工具确实非常的好用,设计上面也非常贴心,一方面可以先通过命令:
./ezdown -D
离线下载安装包。另一方面同时将部署工具打包到一个容器,并且连容器安装部署也只需要一个命令:
./ezdown -S
就实现了。
多节点集群的安装部署参考:
https://github.com/easzlab/kubeasz/blob/master/docs/setup/00-planning_and_overall_intro.md

部署步骤

文档中命令默认都需要root权限运行。

1.基础系统配置

  • 配置参考上面的规划
  • 配置基础网络、更新源、SSH登录等

2.准备ssh免密登陆

配置从部署节点能够ssh免密登陆所有节点,注意执行下面的命令之前需要先执行命令:
ssh-keygen
生成密钥

#$IP为所有节点地址包括自身,按照提示输入yes 和root密码
#ssh-copy-id $IP 
ssh-copy-id root@192.168.170.123
ssh-copy-id root@192.168.170.124
ssh-copy-id root@192.168.170.125

3.在部署节点编排k8s安装

  • 3.1 下载项目源码、二进制及离线镜像

下载工具脚本ezdown,使用kubeasz版本3.6.7

export release=3.6.7
wget https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown
chmod +x ./ezdown

下载kubeasz代码、二进制、默认容器镜像(更多关于ezdown的参数,运行./ezdown 查看)

# 国内环境
./ezdown -D

上述脚本运行成功后,所有文件(kubeasz代码、二进制、离线镜像)均已整理好放入目录/etc/kubeasz

  • 3.2 创建集群配置实例
# 容器化运行kubeasz
./ezdown -S

# 创建新集群 k8s-01
docker exec -it kubeasz ezctl new k8s-01

然后根据提示配置’/etc/kubeasz/clusters/k8s-01/hosts’ 和 ‘/etc/kubeasz/clusters/k8s-01/config.yml’:根据前面节点规划修改hosts 文件和其他集群层面的主要配置选项;其他集群组件等配置项可以在config.yml 文件中修改。
这里要注意一点,就是config.yml文件里面的内容去修改,但是不要删除其他内容,里面很多参数在ansible部署中需要用到。

  • 3.3 开始安装
#建议使用alias命令,查看~/.bashrc 文件应该包含:alias dk='docker exec -it kubeasz'
source ~/.bashrc

# 一键安装,等价于执行docker exec -it kubeasz ezctl setup k8s-01 all
dk ezctl setup k8s-01 all
........
.....
PLAY RECAP *********************************************************************
192.168.170.123            : ok=128  changed=81   unreachable=0    failed=0    skipped=155  rescued=0    ignored=0
192.168.170.124            : ok=88   changed=61   unreachable=0    failed=0    skipped=128  rescued=0    ignored=0
192.168.170.125            : ok=88   changed=61   unreachable=0    failed=0    skipped=128  rescued=0    ignored=0
localhost                  : ok=43   changed=38   unreachable=0    failed=0    skipped=66   rescued=0    ignored=0
......
........
# 或者分步安装,具体使用 dk ezctl help setup 查看分步安装帮助信息
[root@k8s-master-1 ~]# dk ezctl help setup
Usage: ezctl setup <cluster> <step>
available steps:
    01  prepare            to prepare CA/certs & kubeconfig & other system settings
    02  etcd               to setup the etcd cluster
    03  container-runtime  to setup the container runtime(docker or containerd)
    04  kube-master        to setup the master nodes
    05  kube-node          to setup the worker nodes
    06  network            to setup the network plugin
    07  cluster-addon      to setup other useful plugins
    90  all                to run 01~07 all at once
    10  ex-lb              to install external loadbalance for accessing k8s from outside
    11  harbor             to install a new harbor server or to integrate with an existed one

examples: ./ezctl setup test-k8s 01  (or ./ezctl setup test-k8s prepare)
	  ./ezctl setup test-k8s 02  (or ./ezctl setup test-k8s etcd)
          ./ezctl setup test-k8s all
          ./ezctl setup test-k8s 04 -t restart_master
  • 3.4 安装完成后的检查
[root@k8s-master-1 ~]# kubectl get node
NAME           STATUS                     ROLES    AGE    VERSION
k8s-master-1   Ready,SchedulingDisabled   master   127m   v1.33.1
k8s-node-1     Ready                      node     124m   v1.33.1
k8s-node-2     Ready                      node     124m   v1.33.1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值