安装部署

硬件要求

最小化配置

角色CPU核数内存系统盘数量
部署机48G100G1
Master48G100G1
Worker48G100G1

推荐配置

角色CPU核数内存系统盘数量
部署机816G100G SSD1
Master816G100G SSD3
Worker816G系统盘: 100G
数据盘: 300G(/var/lib/docker)
>3

软件要求

KubeOperator 部署机

需求项具体要求参考(以CentOS7.6为例)
操作系统支持 Docker 的 Linux OScat /etc/redhat-release
CPU 架构支持 x86_64 和 aarch64uname -m
kernel 版本>=Linux 3.10.0-957.el7.x86_64uname -sr
swap关闭swapoff -a
sed -i ‘/ swap / s/^(.*)$/#\1/g’ /etc/fstab
防火墙关闭systemctl stop firewalld && systemctl disable firewalld
端口所有节点防火墙必须放通 SSH(默认22)、80、8081-8083端口firewall-cmd —zone=public —add-port=80/tcp —permanent
SELinux关闭setenforce 0
sed -i “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config

K8s 集群节点

需求项具体要求参考(以CentOS7.6为例)
操作系统CentOS 7.4 - 7.9
RHEL 7.4 - 7.9
Ubuntu 20.04 / 18.04
Kylin v10
openEuler 22.03
EulerOS 2.5(x86_64)
EulerOS 2.8(aarch64)
cat /etc/redhat-release
CPU 架构支持 x86_64 和 aarch64uname -m
kernel 版本>=Linux 3.10.0-957.el7.x86_64uname -sr
swap关闭。如果不满足,系统会有一定几率出现 io 飙升,造成 docker 卡死。kubelet 会启动失败(可以设置 kubelet 启动参数 —fail-swap-on 为 false 关闭 swap 检查)swapoff -a
sed -i ‘/ swap / s/^(.*)$/#\1/g’ /etc/fstab
防火墙关闭。Kubernetes 官方要求systemctl stop firewalld && systemctl disable firewalld
SELinux关闭setenforce 0
sed -i “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config
时区所有服务器时区必须统一,建议设置为 Asia/Shanghaitimedatectl set-timezone Asia/Shanghai

安装说明

离线安装

请自行下载 KubeOperator 最新版本的离线安装包

  1. # 解压安装包
  2. tar zxvf KubeOperator-release-v3.15.0-amd64.tar.gz
  3. # arm64 的包名是 KubeOperator-release-v3.15.0-arm64.tar.gz
  4. cd KubeOperator-release-v3.15.0
  5. # 运行安装脚本
  6. /bin/bash install.sh
  7. # 等待安装脚本执行完成后,查看 KubeOperator 状态
  8. koctl status

在线安装

默认使用 /opt/kubeoperator 目录作为安装目录,配置文件、数据及日志等均存放在该安装目录安装完成后,安装过程中产生的离线文件可删除,目录名: kubeoperator-release-v3.15.0

  1. # 以 root 用户 ssh 登录目标服务器, 执行如下命令
  2. curl -sSL https://github.com/KubeOperator/KubeOperator/releases/latest/download/quick_start.sh -o quick_start.sh
  3. bash quick_start.sh

安装完成后,检查服务状态。若有有异常,可以使用 koctl restart 命令进行重新启动

  1. [root@kubeoperator ~]# koctl status
  2. Name Command State Ports
  3. ------------------------------------------------------------------------------------------------------------------------------------------------
  4. kubeoperator_kobe sh /root/entrypoint.sh Up (healthy) 8080/tcp
  5. kubeoperator_kotf kotf-server Up (healthy) 8080/tcp
  6. kubeoperator_kubepi kubepi-server Up (healthy) 80/tcp
  7. kubeoperator_mysql /entrypoint.sh mysqld Up (healthy) 3306/tcp, 33060/tcp
  8. kubeoperator_nexus sh -c ${SONATYPE_DIR}/star ... Up (healthy) 0.0.0.0:8081->8081/tcp, 0.0.0.0:8082->8082/tcp, 0.0.0.0:8083->8083/tcp
  9. kubeoperator_nginx /docker-entrypoint.sh ngin ... Up (healthy) 0.0.0.0:80->80/tcp
  10. kubeoperator_server ko-server Up (healthy) 8080/tcp
  11. kubeoperator_ui /docker-entrypoint.sh ngin ... Up (healthy) 80/tcp
  12. kubeoperator_webkubectl sh /opt/webkubectl/start-w ... Up (healthy)

登录

  1. 地址: http://<ko服务器_ip>:80
  2. 用户名: admin
  3. 密码: kubeoperator@admin123

帮助

  1. koctl --help

升级说明

离线升级

  1. # 离线升级需要提前下载离线安装包,并解压到 KubeOperator 部署机
  2. # 进入升级包目录
  3. cd KubeOperator-release-v3.15.0
  4. # 运行安装脚本
  5. ./koctl upgrade
  6. # 查看 KubeOperator 状态
  7. koctl status

在线升级

  1. # 升级到指定版本
  2. koctl upgrade v3.15.0
  3. # 升级到最新版本
  4. koctl upgrade
  5. # 查看 KubeOperator 状态
  6. koctl status

混合架构部署说明

定义:混合架构是指使用 KubeOperator 部署同时包含 x86_64 和 arm64 架构节点的 Kubernetes 集群

如下图所示,混合部署需要提供 x86_64 和 arm64 架构的 Nexus 仓库,以便于集群部署时可以下载到对应架构的资源,之后在 KubeOperator 系统设置添加不同架构的仓库信息即可。

例如:
  1.可以分别部署两台不同架构的 KubeOperator(一台 arm64,一台 x86_64)
  2.使用 x86_64 架构的主机作为日常操作的主机
  3.将 arm64 的主机作为 arm 仓库使用并添加到 x86_64 的 KubeOperator 系统设置中

KubeOperator-mixed-arch