kubeasz安装kubernetes,只需要做好网通配置,做好ssh免密通信配置即可
OS:CentOS Linux release 8.5.2111
机器:
IP | hostname |
---|---|
10.104.10.201 | k8s-master |
10.104.10.202 | k8s-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
从CentOS8.x开始,改为chrony同步时间
所有机器
都安装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
所有机器
统一升级内核
# 导入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
,则代表已经禁用
所有机器
依次修改hostname
# 在10.104.10.201执行
hostnamectl set-hostname k8s-master
# 在10.104.10.202执行
hostnamectl set-hostname k8s-node
所有机器
配置下 hosts
cat >> /etc/hosts<<EOF
10.104.10.201 k8s-master
10.104.10.202 k8s-node
EOF
所有机器
输入以下命令,创建一组公钥和私钥
# 直接一直回车就行
ssh-keygen
所有机器
上执行公钥拷贝命令
ssh-copy-id -i ~/.ssh/id_rsa.pub root@k8s-master
ssh-copy-id -i ~/.ssh/id_rsa.pub root@k8s-node
给所有机器
配置阿里云epel源
# centos7
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# centos8
dnf 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*
给所有机器
安装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
因为当前是centos8环境安装的python3,而kubeasz中默认是centos7环境及安装python2,所以这里得配置个软链,否则后面的初始化集群时报找不到python。
这里提前配置python软链
ln -s /usr/bin/python3.6 /usr/bin/python
在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集群本地化交付场景的时候也特别有用。
创建集群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’
修改/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上有些区别,不修改安装方式,后续集群安装会遇到下面错误
修改/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
这里采用一键安装方式
cd /etc/kubeasz
./ezctl setup k8s all
同样也可以分步骤安装
# 分步安装 需要分别执行01-07的yml
cd /etc/kubeasz
# 01-创建证书和环境准备
./ezctl setup k8s 01
# 02-安装etcd集群
./ezctl setup k8s 02
# 03-安装容器运行时(docker or containerd)
./ezctl setup k8s 03
# 04-安装kube_master节点
./ezctl setup k8s 04
# 05-安装kube_node节点
./ezctl setup k8s 05
# 06-安装网络组件
./ezctl setup k8s 06
# 07-安装集群主要插件
./ezctl setup k8s 07
当k8s集群需要销毁时,通过指定集群名称进行销毁
cd /etc/kubeasz
./ezctl destroy k8s
Kubernetes 1.25.4版本安装
kubeasz安装kubernetes1.25.5
CentOS8搭建nfs服务
k8s一键安装redis单机版
k8s一键安装mysql8单机版
Docker制作springboot运行应用镜像
k8s部署springboot应用
zookeeper集群安装
Nginx日志切割
Elasticsearch单机版本安装
Elasticsearch集群安装
springboot集成prometheus+grafana
安装Docker及学习
RabbitMQ集群安装