乐维产品包具体打包为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. 【学习笔记】 第04章 NumPy基础:数组和矢量计算

    前言 正式开始学习Numpy,参考用书是<用Python进行数据清洗>,计划本周五之前把本书读完,关键代码全部实现一遍 NumPy基础:数组和矢量计算 按照书中所示,要搞明白具体的性能差距 ...

  2. Kubernetes 监控--Prometheus

    在早期的版本中 Kubernetes 提供了 heapster.influxDB.grafana 的组合来监控系统,在现在的版本中已经移除掉了 heapster,现在更加流行的监控工具是 Promet ...

  3. K8S Pod Pending 故障原因及解决方案

    文章转载自:https://mp.weixin.qq.com/s/SBpnxLfMq4Ubsvg5WH89lA

  4. redhat替换yum源时redhat.repo无法删除或禁用的问题

    rhel7.3系统,在替换自带的repo源时发现无论是将redhat.repo重命名还是删除,在执行yum命令后总是自动又生成redhat.repo得问题,导致替换的CentOS-Base.repo, ...

  5. 4_爬NMPA药监总局_动态加载_传ID

    http://scxk.nmpa.gov.cn:81/xk/ import requests url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAc ...

  6. C#-02 传入参数的一些用法2

    C#_02 参数应用2 一.关于 "ref" 局部变量和 "ref" 返回 在前面已经明白了 ref 关键词传递一个对象引用给方法调用,这样在方法中对对象修改过 ...

  7. frp服务利用云主机docker服务实现Windows远程连接

    1.云主机配置 1.docker部署 # 创建文件 mkdir -p /root/docker/frp && touch /root/docker/frp/frps.ini # 配置文 ...

  8. Do not use “@ts-ignore” because it alters compilation errors的解决办法

    在@ts-ignore上面添加一行代码: // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore

  9. P3834 【模板】可持久化线段树 2

    P3834 主席树模板,求区间第k小. 1 #include <bits/stdc++.h> 2 using namespace std; 3 #define lc tr[i].ch[0] ...

  10. 洛谷P3243 [HNOI2015]菜肴制作 (拓扑排序/贪心)

    这道题的贪心思路可真是很难证明啊...... 对于<i,j>的限制(i必须在j之前),容易想到topsort,每次在入度为0的点中选取最小的.但这种正向找是错误的,题目要求的是小的节点尽量 ...