ku8eye 安装概览

ku8eye web 开发环境

当前版本的 ku8eye web开发环境 以docker镜像方式提供,下载地址为: http://pan.baidu.com/s/1gdYk4CV

文件名说明:

  • ku8eye-web-xxx.tar.gz是ku8eye的docker镜像文件名
  • Value-packages/ku8_ext_files目录包括了ku8常用镜像包等资源

安装部署的架构图如下图所示。

注:运行ku8eye的服务器属于控制服务器,应在排除在目标Kubernetes集群的服务器范围之外,并能够与待安装的服务器之间网络连通。如需向私库中导入镜像,服务器需要与私库所在主机网络连通,并需要在服务器主机上配置docker启动参数,如:other_args='--insecure-registry xxx.xxx.xxx.xxx:xxxx'。https://github.com/bestcloud/ku8eye

安装架构图

文件名为:ku8eye-web-xxx.tar.gz 用gunzip解压缩后,得到文件ku8eye-web.tar

下载Value-packages/ku8_ext_files文件夹,将这两个文件夹存放在Linux主机的KU8_EYE_HOME目录下,以下假设KU8_EYE_HOME目录是在/root/ku8eye.

下面是安装前的目录结构

/root/ku8eye/ku8eye-web.tar
/root/ku8eye/ku8_ext_files

导入docker镜像:

# docker load -i ku8eye-web.tar

给该镜像打上tag:

# docker tag 6f46b1372b52 ku8eye-web

运行开发环境: 

docker run -tid --name ku8eye-web -p 3306:3306 -p 8080:8080 -p 9001:9001 ku8eye-web 

或者

docker run -tid --name ku8eye-web -v /var/run/docker.sock:/var/run/docker.sock -v /opt/ku8eye/ku8_ext_files:/root/ku8eye/ku8_ext_files -p 3306:3306 -p 8080:8080 -p 9001:9001 ku8eye-web

其中 3306 为mysql服务端口,8080 为tomcat服务端口,9001 为supervisor服务端口,均映射到宿主机上。-v表示本地的磁盘映射到容器内部路径上(前一部分为宿主机的本地路径,后面为容器内部路径)。

如需映射sshd的22端口,需添加一个 -p 参数,例如 -p 2222:22

容器启动成功后,需等待15秒左右,等待mysql数据库与web应用启动完成。

ku8eye-web的使用方式:

1. 命令行方式

进入容器:docker exec -ti ku8eye-web bash

使用命令行完成一键安装Kubernetes集群,脚本为:

/root/ku8eye-startup.sh $1 $2 $3

需要输入的3个参数为:

$1: 待安装主机IP地址列表,以逗号分隔。第一台主机将作为Kubernetes Master。例如:192.168.1.2,192.168.1.3

$2: docker0的B类IP地址,系统自动为每台主机设置docker0的C类地址,例如,输入 172.0.0.0/16,在两台机器上将分别设置docker0的地址为 172.0.1.0/24 和 172.0.2.0/24

$3: root用户的密码,目前仅支持所有主机相同的密码,例如:123456

一个完整的命令行如下: /root/ku8eye-startup.sh "192.168.1.2,192.168.1.3" "172.0.0.0/16" "123456"

注:每个参数需用双引号引起来

然后即可观察输出结果。

2. 网页方式

打开浏览器,地址栏输入宿主机IP和8080端口,即可进入ku8eye-web页面,对Kubernetes集群进行操作了。

登录账号:guest/123456

先添加主机信息,然后可以一键安装集群: 点击左侧“K8s Cluster”菜单,选择“Cluster Inf”进行安装。

安装架构图

3.导入ku8标准镜像包

接下来,需要导入初始的ku8镜像到系统中的Docker私有镜像库中,这些镜像在/ku8_ext_files/ku8_images目录下。 点击左侧“应用管理”菜单中点击“私库镜像”。 在页面中首先点击“设置私库镜像”查看是否存在私库地址,如不存在或不正确,则添加或修改后“确认”。 点击“镜像包导入”就可以按照提示导入镜像了。

建议使用上边网页的方式导入标准镜像包。

此外,也可以通过命令行导入镜像,我们需要先进入容器里, docker exec -it ku8eye-web bash 运行进行包导入命令: /root/ku8-packages-import.sh /ku8_ext_files/ku8_images/ku8_images.tar.gz

下面是此命令的详细说明:

第一个参数为要导入的gz包文件(完整路径)

第二个参数是clusterId,表示上传到该clusterId对应的私库里。第二个参数如果没输入,则默认是1。

镜像包导入成功以后,就可以进行下面的操作了.

如果想自己制作镜像批量导入压缩包,请参考镜像批量导入压缩包制作

---- 容器内包含的软件 ----

1. Ansible安装环境,以及安装Kubernetes所需的全部软件

Ansible的使用方法详见下文“Ansible安装Kubernetes集群说明”

2. JRE1.8

环境变量 JAVA_HOME=/root/jre1.8.0_65

3. MySQL 5.7.9

数据库名:ku8eye

数据库用户名:ku8eye,密码:123456

4. ku8eye-web 应用

jar包:/root/ku8eye-web.jar

Ku8manager 维护手册
        前提:ku8manager容器正确启动。
        打开Chrome浏览器(目前只支持Chrome浏览器),输入主机ip和容器端口http://10.255.242.170:1199/ 打开页面,登录即可。
        目前ku8manger用到的11张表如下所示。

表名        说明
Host        主机列表
Ku8_project        创建的应用的数据
ku8_cluster        集群列表
ku8_res_partion        资源分区
ku8_service        服务列表
ku8_service_template        服务模板
ku8s_srv_endpoint        存放master,infuxDB,register信息表
docker_image        imager 信息列表
tenant        租户信息
user        用户信息表
user_group        用户组表
zone        地域信息
initsql.sql 维护
ku8manager运行脚本维护

一.initsql.sql 维护

                Ku8manager目前用到的表有docker_imager,host,ku8_cluster,ku8_project,ku8_res_partion,ku8_service,ku8_service_template,
            ku8s_srv_endpoint,tenant,user,user_group,zone,共12张表。
                mysql数据库初始化的时,需要host,ku8s_srv_endpoint,user,user_这四张表有初始数据。docker_imager表不需要初始数据。
            所以,从工具svn上 down下来的initsql.sql 需要对这几张张表做维护。
二.ku8manager运行脚本维护
                ku8eye-web使用端口1199 作为访问端口。使用 –v 将文件映射到容器内。
                run_ku8manager.sh 内容如下:
                docker run -tid --name ku8manager
                -p 3306:3306 --volumes-from=mariadb-data #映射mariadb-data容器
                -v /var/run/docker.sock:/var/run/docker.sock
                -v ${PWD}/ku8eye-web-0.0.2-SNAPSHOT.jar:/ku8manager/ku8manager.jar #映射jar包
                -v ${PWD}/initsql.sql:/ku8manager/db_scripts/initsql.sql #映射mysql的sql
                -v ${PWD}/ku8_ext_files:/ku8_ext_files #映射文件
                -v ${PWD}/kubernetes_cluster_setup:/ku8manager/kubernetes_cluster_setup
                -v ${PWD}/kubernetes_cluster_uninstall:/ku8manager/kubernetes_cluster_uninstall
                -p 1199:8080 ku8manager
                每次更新的jar和不同环境下的initsql.sql 文件都需要实时更新到容器内。

原文地址:https://www.cnblogs.com/river2005/p/9412842.html