kubeasz安装kubernetes1.25.5

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

kubeasz安装k8s

1 配置

kubeasz安装kubernetes只需要做好网通配置做好ssh免密通信配置即可

1.1 环境介绍

OSCentOS Linux release 8.5.2111

机器:

IPhostname
10.104.10.201k8s-master
10.104.10.202k8s-node

所有机器都将yum源改为国内阿里云开源镜像源

cd /etc/yum.repos.d/
mkdir backup
mv CentOS-* backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum clean all && yum makecache

1.2 时间同步

所有机器都安装chrony配置时间同步

# 安装chrony,从CentOS8.x开始改为chrony同步时间
yum install chrony -y
# 设置开始启动并立即启动服务
systemctl enable chronyd --now

vim /etc/chrony.conf
# 注释掉 pool 2.centos.pool.ntp.org.iburst
# 添加阿里云地址
server ntp.aliyun.com iburst
server cn.ntp.org.cn iburst

# 用东八区北京上海的时间
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 重启服务
systemctl restart chronyd
# 立即同步时间
chronyc sources && chronyc -a makestep

1.3 升级内核

所有机器统一升级内核

# 导入elrepo gpg key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装 elrepo YUM源仓库
dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm -y
# 安装kernel-ml版本ml为长期稳定版本lt为长期维护版本建议安装lt版本
dnf --enablerepo=elrepo-kernel install kernel-lt -y
# 设置grub2默认引导为0
grub2-set-default 0
# 重新生成grub2引导文件
grub2-mkconfig -o /boot/grub2/grub.cfg
# 更新后需要重启使升级的内核生效
reboot

**sestatus -v**命令查看SELuinux状态若显示为disabled则代表已经禁用

1.4 修改hostname

所有机器依次修改hostname

# 在10.104.10.201执行
hostnamectl set-hostname k8s-master
# 在10.104.10.202执行
hostnamectl set-hostname k8s-node

1.5 配置 hosts

所有机器配置下 hosts

cat >> /etc/hosts<<EOF
10.104.10.201 k8s-master
10.104.10.202 k8s-node
EOF

1.6 配置 ssh 互信

所有机器输入以下命令创建一组公钥和私钥

# 直接一直回车就行
ssh-keygen

所有机器上执行公钥拷贝命令

ssh-copy-id -i ~/.ssh/id_rsa.pub root@k8s-master
ssh-copy-id -i ~/.ssh/id_rsa.pub root@k8s-node

2 准备

2.1 配置epel源

所有机器配置阿里云epel源

# centos7
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

# centos8
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

2.2 安装python pip

所有机器安装python pip

# centos7
#yum install -y python-pip python3 python-netaddr
#pip install pip --upgrade -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
#pip install ansible==2.6.12 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

# centos8
dnf install -y python3-pip python3 python3-netaddr
pip3 install pip --upgrade -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip3 install ansible==2.6.12 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

配置软链否则后面的初始化集群时报找不到python

kubeasz_Gathering_Facts_python_error.png

这里提前配置python软链

ln -s /usr/bin/python3.6 /usr/bin/python

2.3 下载工具脚本

master机器(或者是指定的跳板机)上下载工具脚本ezdown到https://github.com/easzlab/kubeasz/releases查看最新版本号这里以3.4.3为例

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

使用工具脚本下载

# 下载需要的脚本、二进制文件和镜像文件
./ezdown -D

**./ezdown -D**多执行几遍直至再执行的时候提示INFO Action successed: download_all为止。这样就在/etc/kubeasz目录下下载了在线安装所有需要的脚本、二进制文件和镜像文件。

另外通过执行**./ezdown -D**会发现docker环境也在主控宿主机安装好这个效果即使在做非k8集群本地化交付场景的时候也特别有用。

3 部署

3.1 创建集群

创建集群==k8s==

cd /etc/kubeasz
./ezctl new k8s

执行创建命令后如下方所示

bash-5.1# ezctl new k8s
2023-01-17 05:59:32 DEBUG generate custom cluster files in /etc/kubeasz/clusters/k8s
2023-01-17 05:59:32 DEBUG set versions
2023-01-17 05:59:32 DEBUG cluster k8s: files successfully created.
2023-01-17 05:59:32 INFO next steps 1: to config ‘/etc/kubeasz/clusters/k8s/hosts’
2023-01-17 05:59:32 INFO next steps 2: to config ‘/etc/kubeasz/clusters/k8s/config.yml’

3.2 配置集群

修改==/etc/kubeasz/clusters/k8s/hosts==配置文件中的[etcd][kube_master][kube_node]三处的IP地址

k8s的nodeport端口默认范围为**30000-32767**在配置文件NODE_PORT_RANGE后面同样可以自行修改

vi /etc/kubeasz/clusters/k8s/hosts

==/etc/kubeasz/clusters/k8s/hosts==配置文件修改后如下


[etcd]
10.104.10.201
10.104.10.202


[kube_master]
10.104.10.201


[kube_node]
10.104.10.202


NODE_PORT_RANGE=“80-65535”

因为是centos8系统安装方式与centos7上有些区别不修改安装方式后续集群安装会遇到下面错误

kubeasz_prepare_dnf_error.png

修改==/etc/kubeasz/roles/prepare/tasks/centos.yml==配置文件中的安装方式

sed -i 's#yum:#dnf:#g' /etc/kubeasz/roles/prepare/tasks/centos.yml
# 查看编码
grep dnf /etc/kubeasz/roles/prepare/tasks/centos.yml

3.3 部署集群

这里采用一键安装方式

cd /etc/kubeasz
./ezctl setup k8s all
同样也可以分步骤安装
# 分步安装 需要分别执行01-07的yml
cd /etc/kubeasz
# 01-创建证书和环境准备
bash-5.1# ./ezctl setup k8s 01
# 02-安装etcd集群
bash-5.1# ./ezctl setup k8s 02
# 03-安装容器运行时docker or containerd
bash-5.1# ./ezctl setup k8s 03
# 04-安装kube_master节点
bash-5.1# ./ezctl setup k8s 04
# 05-安装kube_node节点
bash-5.1# ./ezctl setup k8s 05
# 06-安装网络组件
bash-5.1# ./ezctl setup k8s 06
# 07-安装集群主要插件
bash-5.1# ./ezctl setup k8s 07

3.4 销毁集群

当k8s集群需要销毁时通过指定集群名称进行销毁

cd /etc/kubeasz
./ezctl destroy k8s
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: k8s