乐维产品包具体打包为4个镜像包,分别为:mysql5.7.36.tar、zabbix_server.tar、itops_v1_4_x86_64.tar、bpm0.1.tar,对应的配置文件分别为:data.tar、conf.tar、nginx-v1.3.tar.gz、bpm12.zip。

K8s yaml文件具体打包为strogeclass、pv、pvc、deployment、service,执行时也请按照这个顺序进行执行。

具体安装如下所示。

前期准备工作

1、    上传文件

上传yaml-pvc.tar至master节点根目录下并解压

2、    创建namespace(测试环境的namespace名称为lw-server)

kubectl create namespace lw-server

 ps:如客户现场给的namespace为其他名称,所有yaml文件的namespace都需要进行修改

MySQL安装

1、上传文件

上传mysql5.7.36.tar到k8s镜像仓库,上传data.tar文件到存储节点(测试环境存储节点为ceph03)

2、解压配置文件(在ceph03节点执行)

mkdir -p /itops/

tar -xf data.tar -C /itops/

chown mysql.mysql /itops/mysql -R

3、执行yaml文件创建storageclass(在master节点执行)

kubectl apply -f
yaml-pvc/mysql-pvc/storage_mysql.yaml

kubectl apply -f yaml-pvc/mysql-pvc/storage_mysql-data.yaml

可通过 :kubectl get
storageclass查看是否创建成功

4、执行yaml文件创建pv(在master节点执行)

kubectl apply -f yaml-pvc/mysql-pvc/pv-mysql.yaml

kubectl apply -f yaml-pvc/mysql-pvc/pv-mysql-data.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server pv

5、执行yaml文件创建pvc(在master节点执行)

kubectl apply -f yaml-pvc/mysql-pvc/pvc-mysql.yaml

kubectl apply -f yaml-pvc/mysql-pvc/pvc-mysql.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server pvc

6、执行yaml文件创建deployment(在master节点执行)

kubectl apply -f yaml-pvc/lw-mysql.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server deployment

7、执行yaml文件创建service(在master节点执行)

kubectl apply -f yaml-pvc/lw-mysql-service.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server svc

账号:root

密码:ITIM_p@ssw0rd

账号:zabbix

密码:zabbix

Zabbix server安装

1、上传文件

上传zabbix_server.tar到k8s镜像仓库,上传conf.tar文件到存储节点(测试环境存储节点为ceph03)

2、解压配置文件(在ceph03节点执行)

mkdir -p /itops/zabbix_server

tar -xf conf.tar -C /itops/zabbix_server

3、修改配置文件(在ceph03节点执行)

sed -i 's/DBHost=192.168.229.17/DBHost=mysql-proxy/g' /itops/zabbix_server/etc/zabbix_server.conf

sed -i 's/JavaGateway=192.168.229.17/JavaGateway=zabbix-proxy/g' /itops/zabbix_server/etc/zabbix_server.conf

4、执行yaml文件创建storageclass(在master节点执行)

kubectl apply -f
yaml-pvc/zabbix-pvc/storage_zabbix.yaml

可通过 :kubectl get
storageclass查看是否创建成功

5、执行yaml文件创建pv(在master节点执行)

kubectl apply -f yaml-pvc/zabbix-pvc/pv-zabbix.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server pv

6、执行yaml文件创建pvc(在master节点执行)

kubectl apply -f yaml-pvc/zabbix-pvc/pvc-zabbix.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server pvc

7、执行yaml文件创建deployment(在master节点执行)

kubectl apply -f yaml-pvc/lw-zabbix.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server deployment

8、执行yaml文件创建service(在master节点执行)

kubectl apply -f yaml-pvc/lw-zabbix-service.yam

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server svc

Nginx安装

1、上传文件

上传itops_v1_4_x86_64.tar到k8s镜像仓库,上传nginx-v1.3.tar.gz文件到存储节点(测试环境存储节点为ceph03)

2、解压配置文件(在ceph03节点执行)

mkdir -p /itops/

tar -xf nginx-v1.3.tar.gz -C /itops/

3、修改配置文件(在ceph03节点执行)

vi /itops/nginx/html/zabbix/conf/zabbix.conf.php

vi
/itops/nginx/html/lwjk_v3/web/z/conf/zabbix.conf.php

vi /itops/nginx/html/lwjk_v3/config/db.php

4、执行yaml文件创建storageclass(在master节点执行)

kubectl apply -f
yaml-pvc/nginx-pvc/storage_nginx.yaml

kubectl apply -f yaml-pvc/nginx-pvc/storage_nginx-data.yaml

可通过 :kubectl get
storageclass查看是否创建成功

5、执行yaml文件创建pv(在master节点执行)

kubectl apply -f yaml-pvc/nginx-pvc/pv-nginx.yaml

kubectl apply -f yaml-pvc/nginx-pvc/pv-nginx-data.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server pv

6、执行yaml文件创建pvc(在master节点执行)

kubectl apply -f yaml-pvc/nginx-pvc/pvc-nginx.yaml

kubectl apply -f yaml-pvc/nginx-pvc/pvc-nginx-data.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server pvc

7、执行yaml文件创建deployment(在master节点执行)

kubectl apply -f yaml-pvc/lw-nginx.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server deployment

8、执行yaml文件创建service(在master节点执行)

kubectl apply -f yaml-pvc/lw-nginx-service.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server svc

9、定时任务设置(在宿主机配置)

方法一:适用于存储挂在宿主机本机

此方法php在宿主机执行任务

crontab -e

50 23 * * * mysql -h mysql-proxy -uzabbix -pzabbix 'zabbix' -e "CALL
partition_maintenance_all('zabbix')" >/dev/null

0 1 * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run report/daily-report &

0 8 * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run report/send-daily-mail &

0 3 * * 1 echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run report/weekly-report &

0 8 * * 1 echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run report/send-weekly-mail &

50 1 1 * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run report/monthly-report &

0 8 1 * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |    php
/itops/nginx/html/lwjk_v3/run report/send-monthly-mail &

*/1 * * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run bsmlist &

*/30 * * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run kitty/create-reportdata-queue &

*/20 * * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php /itops/nginx/html/lwjk_v3/run
kitty/create-subscribe-queue &

0 */1 * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run flowreport-trends-data/index &

*/5 * * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run hosts/profile-renew &

*/1 * * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run queue/run &

*/1 * * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/runalert/history &

*/1 * * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/runalert/r-history &

0 2 * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run logger/flush &

*/1 * * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run hosts &

*/5 * * * * echo 'LW_ID_PUBLIC_DEFAULT_TASK' |   php
/itops/nginx/html/lwjk_v3/run threshold-task/index &

清除定时任务:

0 0 * * 0 /usr/bin/rm
/itops/zabbix_server/logs/zabbix_traps.tmp >/dev/null

方法二:适用于存储不挂在宿主机本机

此方法php脚本在pod内部执行

crontab -e

50 23 * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- mysql -h mysql-proxy -uzabbix -pzabbix 'zabbix'
-e "CALL partition_maintenance_all('zabbix')"

0 1 * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server --   php /itops/nginx/html/lwjk_v3/run
report/daily-report &

0 8 * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run report/send-daily-mail &

0 3 * * 1 kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run report/weekly-report &

0 8 * * 1 kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run report/send-weekly-mail &

50 1 1 * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run report/monthly-report &

0 8 1 * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK'
|    php /itops/nginx/html/lwjk_v3/run report/send-monthly-mail
&

*/1 * * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run bsmlist &

*/30 * * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx |
awk '{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK'
|   php /itops/nginx/html/lwjk_v3/run kitty/create-reportdata-queue
&

*/20 * * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx |
awk '{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK'
|   php /itops/nginx/html/lwjk_v3/run kitty/create-subscribe-queue
&

0 */1 * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run flowreport-trends-data/index &

*/5 * * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run hosts/profile-renew &

*/1 * * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run queue/run &

*/1 * * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/runalert/history &

*/1 * * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run  alert/r-history &

0 2 * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run logger/flush &

*/1 * * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run hosts &

*/5 * * * * kubectl exec -it $(kubectl get pods -n lw-server | grep nginx | awk
'{print $1}') -n lw-server -- echo 'LW_ID_PUBLIC_DEFAULT_TASK' |  
php /itops/nginx/html/lwjk_v3/run threshold-task/index &

清除定时任务配置在文件服务器上:

0 0 * * 0 /usr/bin/rm
/itops/zabbix_server/logs/zabbix_traps.tmp >/dev/null

Bpm安装

上传文件

上传bpm0.1.tar到k8s镜像仓库,上传bpm12.zip文件到存储节点(测试环境存储节点为ceph03)

1、数据库准备工作:

1.1、调整MySql配置(Window下可忽略)(在ceph03节点执行)

vi /itops/mysql/etc/my.cnf

于[mysqld]下追加一行: lower_case_table_names = 1

1.2、远程连接数据库并按顺序执行一下SQL语句

//创建bpm数据库

CREATE
DATABASE bpm DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

//创建bpm用户

CREATE
USER 'bpm'@'%' IDENTIFIED BY '123456';

//授权

grant
all privileges on bpm.* to 'bpm'@'%';

//刷新权限

flush
privileges;

//切换数据库

use
bpm;

//导入数据库

source
/root/bpm12.sql;

// bpm跳转地址更新,把IP修改为bpm IP

update  bpm_devdefaultcode set
DefaultCode='<script>location.href = \'http://node地址:30080\';</script>'
whereWF_OrUnid='41B5701B0EE2904D0E0835D0D27ACB8B9D49';

1.3、重启MySQL服务(在master节点执行)

kubectl delete -f yaml-pvc/lw-mysql.yaml

kubectl apply -f yaml-pvc/lw-mysql.yaml

2、TOMCAT部署(在ceph03节点执行)

tar -xvf bpm12.tar -C /itops

vi /itops/bpm/bpm12/apache-tomcat-8.5.58/conf/Catalina/localhost

3、监控平台调整

3.1、上传文件(在ceph03节点执行)

上传params.php文件至/itops/nginx/html/lwjk_v3/local/

3.2、修改配置文件(在ceph03节点执行)

vi /itops/nginx/html/lwjk_v3/local/params.php

IP修改为实际node IP

3.3、安装bpm模块(在nginx pod内执行)

cd /itops/nginx/html/lwjk_v3/

php run mm/i  bpm

3.4、安装ext(在ceph03节点执行)

unzip ext.zip -d /itops/nginx/html/lwjk_v3/

容器安装

1、执行yaml文件创建storageclass(在master节点执行)

kubectl apply -f yaml-pvc/bpm-pvc/storage_bpm.yaml

可通过 :kubectl get
storageclass查看是否创建成功

执行yaml文件创建pv(在master节点执行)

kubectl apply -f yaml-pvc/bpm-pvc/pv-bpm.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server pv

执行yaml文件创建pvc(在master节点执行)

kubectl apply -f yaml-pvc/bpm-pvc/pvc-bpm.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server pvc

执行yaml文件创建deployment(在master节点执行)

kubectl apply -f yaml-pvc/lw-bpm.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server deployment

执行yaml文件创建service(在master节点执行)

kubectl apply -f yaml-pvc/lw-bpm-service.yaml

可通过(这是挂载成功的情况,仅供参考):kubectl get -n lw-server svc

9、增加菜单

访问http://nodeip:30800/dev

自动化运维安装

1、上传文件

上传ansiblemodule.tar文件到存储节点(测试环境存储节点为ceph03)

mv ansiblemodule.tar /itops/nginx/html/

tar -xvf /itops/nginx/html/ansiblemodule.tar

2、进入nginx pod内部执行安装脚本

cd /itops/nginx/html/ansiblemodule

sh ansiblemodule_install.sh web

执行结束就可以在web看到自动化运维界面

以上就是今天要跟大家分享的内容,我是乐维IT君,专注运维技术分享,更多乐维技术及其他运维技术内容还可查看往期内容,https://www.lwops.cn/index.php/anl/10962。

K8s安装乐维5.0应用部署文档的更多相关文章

  1. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

  2. keepalived双机热备,安装部署文档

    keepalived双击热备,安装部署文档: 下载目录:/apps/keepalived-1.2.7.tar.gz 1:---> yum install -y make wget 2:---&g ...

  3. LVS+Heartbeat安装部署文档

    LVS+Heartbeat安装部署文档 发表回复 所需软件: ipvsadm-1.24-10.x86_64.rpmheartbeat-2.1.3-3.el5.centos.x86_64.rpmhear ...

  4. Sqlserver2008安装部署文档

    Sqlserver2008部署文档 注意事项: 如果你要安装的是64位的服务器,并且是新机器.那么请注意,你需要首先需要给64系统安装一个.net framework,如果已经安装此功能,请略过这一步 ...

  5. PPTP部署文档

    PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...

  6. HP DL160 Gen9服务器集群部署文档

    HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server        Memo ...

  7. CDH简易离线部署文档

        CDH 离线简易部署文档       文档说明 本文为开发部署文档,生产环境需做相应调整. 以下操作尽量在root用户下操作,避免权限问题. 目录 文档说明 2 文档修改历史记录 2 目录 3 ...

  8. rabbitmq 3.7.8基于centos7部署文档

    rabbitmq 3.7.8部署文档 安装erlang 安装依赖环境 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel ope ...

  9. 部署文档(centos7.x\nginx\mysql5.6\jdk1.8\ssl\jboot)

    部署文档(centos7.x\nginx\mysql5.6\jdk1.8\ssl\jboot) 1.基础环境********************************************** ...

  10. kettle开源项目部署文档

    kettle开源项目部署文档 1.kettle简介 kettle是一款国外开源的ETL(Extract Transform Load)工具,纯java编写,可以在Windows.Linux.Unix上 ...

随机推荐

  1. 记Mybatis动态sql

    目录 记MyBatis动态SQL 1.< SQL >标签 2.< if >标签 3.分支标签 1.第一种:用在查询条件上用choose-when:otherwise可不要 2. ...

  2. 连接FastDFS出现超时问题的解决办法

    1.使用Java语言写的web项目,jeecg框架连接FastDFS,需要修改的信息如下: # WEB-INF/classes/fdfs_client.conf connect_timeout=300 ...

  3. mvn clean package 、mvn clean install、mvn clean deploy的区别与联系

    使用的时候首选:mvn clean package mvn clean package依次执行了clean.resources.compile.testResources.testCompile.te ...

  4. SCI论文写作指南

    目录 科技论文的特点 时态的使用 论文的逻辑结构 作者 选择期刊 写作 Title/论文题名 题名 题名的作用 题名基本要求 作者 作者姓名的拼音表达方式 作者单位名与地址的标署 摘要的写作与关键词 ...

  5. NOI2014 洛谷P2114 起床困难综合征(位运算)

    呃...这道题算是noi中比较简单的题吧...... 众所周知,位运算是个好东西,它就是对应的位进行运算,跟其他的位没有关系. 我们要选取一个m值使最后的攻击力最大,对于这个m,从高位开始枚举,判断该 ...

  6. 华为交换机VLAN常用命令

    划分vlan vlan 10 划分Vlan10 vlan batch 30 40 同时创建vlan30和40 dispaly vlan 查看vlan信息 int e0/0/1 进入某一个接口 port ...

  7. Dytechlab Cup 2022 (A - C)

    Dytechlab Cup 2022 (A - C) A - Ela Sorting Books 分析:贪心,将字符串每一位都存在map里,从前往后尽量让每一个\(n / k\)的段\(mex\)值尽 ...

  8. asp.net core web 解决方案多项目模板制作打包总结

    一.文件夹\项目结构 1.1.文件夹 net6.0:针对.net 6.0 项目模板 net6.0pack:针对net6.0打包 1.2.项目结构 Web\WebApi多项目.各层项目.单元测试项目 目 ...

  9. 人生苦短,我用 python 之入门篇

    Python 是一种跨平台的,开源的,免费的,解释型的高级编程语言,它具有丰富和强大的库,其应用领域也非常广泛,在 web 编程/图形处理/黑客编程/大数据处理/网络爬虫和科学计算等领域都能找到其身影 ...

  10. N32G4系列——复用功能重映射(USART为例)

    开发测试环境:SDK,N32G455x系列芯片 在国民MCU中G系列IO口有第二复用功能,这时需要用到重映射功能. 一.系列芯片手册定义 1.1.芯片IO口默认功能查看 如图,在该系列芯片的数据手册中 ...