kubeoperator离线安装

KubeOperator 是一个开源的轻量级 Kubernetes 发行版,专注于帮助企业规划、部署和运营生产级别的 Kubernetes 集群。

KubeOperator 提供可视化的 Web UI,支持离线环境,支持物理机、VMware 和 OpenStack 等 IaaS 平台,支持 x86 和 ARM64 架构,支持 GPU,内置应用商店,已通过 CNCF 的 Kubernetes 软件一致性认证。

环境要求 :

KubeOperator 部署服务器要求:

  1. 操作系统: 任何支持 Docker 的 Linux x86_64 (支持centos7.4+)
  2. CPU/内存: 4核8G
  3. 磁盘空间: 50G (建议安装在根目录)
  4. 系统:关闭 selinux
  5. 关闭防火墙或安全组需开放端口: 80、8081-8083
  6. 关闭swap

K8S 节点服务器要求:

  1. 操作系统: CentOS/RHEL 7.4 及以上版本,EulerOS 2.5(X86),EulerOS 2.8(ARM64)
  2. CPU/内存: 2核4G
  3. 磁盘空间: 50G
  4. 系统:关闭 selinux
  5. 关闭防火墙
  6. 关闭swap

安装前准备:

  1. 检查是否安装docker-compose,如果没有需要安装
  2. kubeoperator安装机器需要开通到其他机器的免密登录(ssh)

关闭swap:执行命令如下:

  1. swapoff -a
  2. sed -i ‘/ swap / s/^\(.*\)$/#\1/g’ /etc/fstab

升级软件包:不升级创建集群过程中可能出现缺少安装包

执行命令:yum update -y(部署机和节点机器都升级)

服务器IP地址如下:

10.88.15.215:kubeoperator管理平台

10.88.15.216:k8s集群master主节点(至少1个或者3个主节点)

10.88.15.218:k8s集群worker节点

10.88.15.219:k8s集群worker节点

安装:

1、下载安装包: https://github.com/KubeOperator/KubeOperator/releases

2、解压缩安装包后执行命令./install.sh进行安装,如图:

可以看到提示安装完成,如图:

3、通过浏览器输入10.88.15.215打开kubeoperator,如图:

至此,kubeoperator安装完成

使用:

1、登录后首先点击系统设置,输入本机IP地址以及时间服务器地址,如图:

2、点击凭据,在打开界面输入凭据名称,选择root用户,下方认证方式选择私钥认证(私钥为15.215上生成的私钥),如图:

注意:由于15.215到其余机器之间都做了免密登录,因此在此凭据位置只要输入15.215上生成的私钥即可,而且只要建立一个凭据就可以连接到其余的所有机器上

3、在用户管理界面,点击添加,可以设置用户以及角色,如图:

4、在主机模块,添加要管理的机器,选择凭据,如图:

主机添加完成后,可以看到显示状态为正常,如图:

5、选择项目–添加,设置项目名称以及描述,如图:

6、点击项目名称,进入后点击资源,选择之前添加的主机,如图:

点击成员按钮,选择之前已经建好的用户,并选择角色,如图:

点击左侧的集群,点击添加,选择如图:

根据提示选择主节点与工作节点,如图:

继续点击下一步完成安装即可。

注意:在创建集群的时候,节点服务器最好是空的机器,没有安装docker环境,否则可能出现初始化容器引擎失败的情况,节点服务器根目录至少保证50G空间大小 ,否则可能出现检测系统环境失败的情况

常见问题:

如果在安装完毕后,打开webkubectl终端时出现如下错误提示(3.2版本容易有次问题,最新版3.4.1不会有此问题),如图:

此错误表示数据库表中没有token,因此系统无法获取到,此时可以通过手动的方式像数据库中插入token数据,执行命令如下:

1、在管理节点15.216上执行命令获取token:

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep ko-admin | awk ‘{print $1}’) | grep token: | awk ‘{print $2}’

2、在kubeoperator管理平台所在机器(15.215),进入mysql 容器,执行命令如下:

docker exec -it kubeoperator_mysql bash

mysql -u root -pKubeOperator123@mysql

use ko; //进入到库ko中

select * from ko_cluster_secret; 查询表中的信息

update ko_cluster_secret set kubernetes_token=”第一步中获取到的token” where id=”上面select查询到的id值”

flush privileges; //刷新即可

标签