高可用安装
使用 ocboot 部署工具高可用安装 Cloudpods 服务,更符合生产环境的部署需求。
环境准备
- 操作系统: 根据 CPU 架构不同,支持的发行版也不一样,目前支持的发行版情况如下:
- CentOS 7.6~7.9 Minimal: 支持 x86_64 和 arm64
- Debian 10/11: 支持 x86_64 和 arm64
- Ubuntu 22.04: 仅支持 x86_64
- 银河麒麟V10 SP2: 支持 x86_64 和 arm64
- 统信 UOS kongzi: 支持 x86_64 和 arm64
- 操作系统需要是干净的版本,因为部署工具会重头搭建指定版本的 kubernetes 集群,所以确保系统没有安装 kubernetes, docker 等容器管理工具,否则会出现冲突导致安装异常
- 最低配置要求: CPU 4核, 内存 8GiB, 存储 100GiB
- 虚拟机和服务使用的存储路径都在 /opt 目录下,所以理想环境下建议单独给 /opt 目录设置挂载点
- 比如把 /dev/sdb1 单独分区做 ext4 然后通 过 /etc/fstab 挂载到 /opt 目录
假设准备好了 3 台 CentOS7 机器,以及 1 台 Mariadb/MySQL 的机器,规划如下:
role | ip | interface | note |
---|---|---|---|
k8s primary | 10.127.90.101 | eth0 | 第1个控制节点 |
k8s master 1 | 10.127.90.102 | eth0 | 第2个控制节点 |
k8s master 2 | 10.127.90.103 | eth0 | 第3个控制节点 |
k8s VIP | 10.127.190.10 | - | keepalived 使用的 vip ,会优先绑定在 3 个控制节点中的第一个 |
DB | 10.127.190.11 | - | 数据库独立节点 pswd="0neC1oudDB#", port=3306 |
其中 DB 的部署目前是不归 ocboot 部署工具管理的,需要提前手动部署。 建议使用 MariaDB 数据库,不要使用 MySQL 5.6及以下版本,防止出现索引长度 bug: Index column size too large. The maximum column size is 767 bytes. 的问题。各发行版对应 MariaDB 版本如下:
- Centos 7.6-7.9 Minimal(X86_64和ARM64) 默认安装MariaDB 5.5.68
- Debian 10-11(X86_64和ARM64) 默认安装MariaDB 10.3.1
- Kylin V10 sp2(X86_64和ARM64) 默认安装MariaDB 10.3.4
另外高可用的数据库部署也可以参考文档:部署 Mariadb HA 环境 。
高可用集群 ntp 一致性
请在安装之前,确保各个待部署节点的时间一致,否则会出现在签发证书步骤失败。
如果是联网安装,可以参考下面的命令,确保集群内每台服务器都与互联网时间保持一致:
# 您可以选择更方便、可达的授时服务器
# 如果提示没有ntpdate 命令,请使用 os 对应的包管理器自行安装
# 例如在centos 上: yum install -y ntp && systemctl enable ntpd --now
$ ntpdate -u edu.ntp.org.cn && hwclock -w && ntpdate -u -q edu.ntp.org.cn
开始安装
下载 ocboot
# 下载 ocboot 工具到本地
$ git clone -b release/3.10 https://github.com/yunionio/ocboot && cd ./ocboot