• K8s安装乐维5.0应用部署文档


    乐维产品包具体打包为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节点根目录下并解压

    1.  创建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='' 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君,专注运维技术分享,更多乐维技术及其他运维技术内容还可查看往期内容,zabbix服务,zabbix配置,zabbix部署等zabbix服务解决方案

  • 相关阅读:
    Oracle Merge Into ORA-00001: unique constaint violated问题
    代码——快捷键
    java--并发
    服务 700+ 厂商,接入 4000+游戏,数数科技 C+ 轮再融 1 亿元
    Python - inspect 模块的简单使用
    fastjson 1.2.47 远程命令执行漏洞
    Visual Studio 安装离线插件 vsix 及常用插件
    王道数据结构——链队列
    Flask + Bootstrap vs Flask + React/Vue:初学者指南
    计算机毕业论文Java项目源码下载学生宿舍管理系统|寝室管理
  • 原文地址:https://blog.csdn.net/weixin_43631631/article/details/127910034