[Kubeasz 安装Kubernetes高可用集群]
目录
-
Kubeasz 安装Kubernetes高可用集群
-
一、集群规划和基础参数设定
-
[1.1 主机规划]
-
1.2 部署节点安装配置
-
[1.2.1 使用清华源安装docker]
-
[1.2.2 拉取 kubeasz 镜像]
-
[1.2.3 准备ssh免密登陆]
-
[1.2.4 下载项目源码、二进制、以及离线镜像]
-
-
-
二、在部署节点编排k8s安装
-
[2.1 启动容器]
-
[2.2 创建并规划集群配置实例]
-
-
三、分步安装集群
-
[3.1 创建证书和环境准备]
-
[3.2 安装etcd集群]
-
[3.3 安装容器运行时]
-
[3.4 安装kube_master节点]
-
[3.5 安装kube_node节点]
-
[3.6 安装网络组件]
-
[3.7 安装集群主要插件]
[3.8 向集群外提供高可用apiserver]
-
-
Kubeasz 安装Kubernetes高可用集群
一、集群规划和基础参数设定
官网: https://github.com/easzlab/kubeasz/blob/v3.6/docs/setup/00-planning_and_overall_intro.md
1.1 主机规划
本次安装采用 Kubeasz 安装,kubeasz 致力于提供快速部署高可用k8s集群的工具, 同时也努力成为k8s实践、使用的参考书;基于二进制方式部署和利用ansible-playbook实现自动化;既提供一键安装脚本, 也可以根据安装指南分步执行安装各个组件。
机器规划如下:
| master1 | 192.168.20.10 | master节点、keepalived、l4lb |
| k8s-master-02 | 192.168.20.11 | master节点、keepalived、l4lb |
| k8s-master-03 | 192.168.20.12 | etcd节点、worker节点 |
| k8s-worker-02 | 192.168.20.13 | etcd节点、worker节点 |
| k8s-worker-03 | 192.168.20.14 | etcd节点、worker节点 |
| kubeasz-ansible | 192.168.20.9 | 部署节点 |
| 192.168.20.200 | 高可用apiserverIP |
-
部署节点:运行ansible/ezctl命令,一般复用第一个master节点
-
etcd节点: 注意etcd集群需要1,3,5,…奇数个节点,一般复用master节点,这里为了测试,复用了worker节点
-
master节点: 高可用集群至少2个master节点
-
worker节点: 运行应用负载的节点,可根据需要提升机器配置/增加节点数
-
keepalived+l4lb:向集群外提供高可用apiserver,一般使用单独的节点,这个测试,复用了master节点
-
注意1:确保各节点时区设置一致、时间同步。 如果你的环境没有提供NTP 时间同步,推荐集成安装chrony
-
注意2:确保在干净的系统上开始安装,不要使用曾经装过kubeadm或其他k8s发行版的环境
-
注意3:建议操作系统升级到新的稳定内核,请结合阅读内核升级文档
注意:默认配置下容器运行时和kubelet会占用/var的磁盘空间,如果磁盘分区特殊,可以设置config.yml中的容器运行时和kubelet数据目录: CONTAINERD_STORAGE_DIR DOCKER_STORAGE_DIR KUBELET_ROOT_DIR
所有节点基础环境配置(必执行)
#!/bin/bash
# 1. 关闭 SELinux
setenforce 0
sed -i \’s/^SELINUX=enforcing$/SELINUX=disabled/\’ /etc/selinux/config
# 2. 关闭 swap
swapoff -a
sed -i \’/swap/s/^/#/\’ /etc/fstab
# 3. 关闭防火墙(或按需放行端口,生产建议放行)
systemctl stop firewalld && systemctl disable firewalld
# 4. 配置国内 YUM 源(阿里云)
rm -rf /etc/yum.repos.d/*
cat > /etc/yum.repos.d/CentOS-Base.repo << EOF
[base]
name=CentOS-\\$releasever – Base – mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/7.9.2009/os/\\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-\\$releasever – Updates – mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/7.9.2009/updates/\\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-\\$releasever – Extras – mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/7.9.2009/extras/\\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
EOF
# 5. 安装依赖工具
yum clean all && yum makecache fast
yum install -y wget curl vim net-tools sysstat chrony python3 python3-pip
# 6. 配置时间同步(chrony)
sed -i \’s/^server/#server/\’ /etc/chrony.conf
echo \”server ntp.aliyun.com i



