Uk8s集群安装kubeCube

Kubecube

最近在github寻找一款设计原生,轻量的多集群管理 多租户管理,发现了网易开源的Kubecube,整套系统采用当前主流的VUE前端,Go后端,于是在Uk8s集群上做简单的部署对接测试,完整笔记如下

Kubecube部署过程概述

  1. 创建一个用于安装kubeCube 的k8s集群,做准备工作,
  2. 获取物料包 kubecube-installer 分发到所有master节点
  3. 修改/etc/kubecube/manifests/install.conf
  4. 为所有master节点 ApiServer 开启audit配置
  5. 执行/etc/kubecube/manifests/install.sh 完成kubeCube的部署
  6. 将其他k8s集群加入到kubeCube

kubeCube详细安装步骤

  1. 创建一个k8s集群,登录任意maser节点
yum install sshpass -y
KUBECUBE_VERSION=v1.0
export CUSTOMIZE="true";curl -fsSL https://kubecube.nos-eastchina1.126.net/kubecube-installer/${KUBECUBE_VERSION}/entry.sh | bash
  1. 将 /etc/kubecube 目录拷贝到其他master节点
  2. 依次登录master节点,进入/etc/kubecube/manifests 修改install.conf
INSTALL_KUBERNETES="false"
INSTALL_KUBECUBE_MEMBER="false"
MASTER_IP=""

执行 utils.sh 脚本, 确认生成配置文件,并创建/var/log/audit目录

/etc/cube/warden/webhook.config
/etc/cube/audit/audit-webhook.config
/etc/cube/audit/audit-policy.yaml

修改/etc/kubernetes/apiserver 修改并确认新增如下配置,添加配置注意上一行的 \ 换行连接符号

--audit-webhook-config-file=/etc/cube/audit/audit-webhook.config \
--audit-policy-file=/etc/cube/audit/audit-policy.yaml \
--authentication-token-webhook-config-file=/etc/cube/warden/webhook.config \
--audit-log-format=json \
--audit-log-maxage=10 \
--audit-log-maxbackup=10 \
--audit-log-maxsize=100 \
--audit-log-path=/var/log/audit

重启kube apiserver服务生效: systemctl restart kube-apiserver.service

  1. 所有master节点audit配置添加完毕,登录任一master节点,进入 /etc/kubecube/manifests 目录修改install.sh

注释如下部分:

#configs_for_apiserver
#if [[ ${INSTALL_KUBERNETES} = "true" ]]; then
# /bin/bash /etc/kubecube/manifests/install_k8s.sh
# if [ "$?" -ne 0 ]; then
# clog error "install kubernetes failed"
# exit 1
# fi
#

# if [[ ${PRE_DOWNLOAD} = "true" ]]; then
# clog info "offline manifests download success"
# exit 0
# fi
#else

# alert_modify_apiserver

# while read confirm
# do
# if [[ ${confirm} = "confirm" ]]; then
# break
# elif [[ ${confirm} = "exit" ]]; then
# exit 1
# else
# continue
# fi
# done
#fi

执行 install.sh 执行成功后会返回如下结果:

========================================================
========================================================
Welcome to KubeCube!
Please use 'admin/admin123' to access
'10.11.88.74:30080'
You must change password after login
========================================================
========================================================

修改KubeCube服务使用LB方式 kubectl edit svc frontend-nodeport -n kubecube-system 将 type: NodePort 修改为 type: LoadBalancer 保存退出

  1. 将其他k8s集群加入到kubeCube的管理中,创建一个新的Uk8s集群,将集群凭证 KubeConfig 保存为本地文件,

KubeCube控制台-> 资源管理-> 集群管理-> 添加集群导入KubeConfig配置,会生成一个bootstap.sh脚本

  1. 修改bootstap.sh脚本,注视掉 install_dependence 一行,将脚本传输到新的Uk8s集群节点执行,将会在KubeCube控制台页面看到新增的k8s集群
截屏2021-11-11 下午4.55.30.png

Kubecube项目源码

  1. Kubecube前端 https://github.com/kubecube-io/kubecube-front
  2. Kubecube后端 https://github.com/kubecube-io/KubeCube
  3. Kubecube文档 https://github.com/kubecube-io/kubecube-io.github.io
  4. Kubecube安装器 https://github.com/kubecube-io/kubecube-installer

你可能感兴趣的:(Uk8s集群安装kubeCube)