樂維產(chǎn)品包具體打包為4個鏡像包,分別為:mysql5.7.36.tar锐锣、zabbix_server.tar蛮寂、itops_v1_4_x86_64.tar、bpm0.1.tar驮吱,對應(yīng)的配置文件分別為:data.tar茧妒、conf.tar、nginx-v1.3.tar.gz左冬、bpm12.zip桐筏。
K8s yaml文件具體打包為strogeclass、pv拇砰、pvc梅忌、deployment、service除破,執(zhí)行時也請按照這個順序進(jìn)行執(zhí)行牧氮。
具體安裝如下所示。
前期準(zhǔn)備工作
1瑰枫、 上傳文件
上傳yaml-pvc.tar至master節(jié)點(diǎn)根目錄下并解壓
2踱葛、創(chuàng)建namespace(測試環(huán)境的namespace名稱為lw-server)
kubectl createnamespace lw-server
?? ?ps:如客戶現(xiàn)場給的namespace為其他名稱,所有yaml文件的namespace都需要進(jìn)行修改
MySQL安裝
1光坝、上傳文件
上傳mysql5.7.36.tar到k8s鏡像倉庫剖毯,上傳data.tar文件到存儲節(jié)點(diǎn)(測試環(huán)境存儲節(jié)點(diǎn)為ceph03)
2、解壓配置文件(在ceph03節(jié)點(diǎn)執(zhí)行)
mkdir -p /itops/
tar -xf data.tar -C /itops/
chown mysql.mysql /itops/mysql -R
3教馆、執(zhí)行yaml文件創(chuàng)建storageclass(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -fyaml-pvc/mysql-pvc/storage_mysql.yaml
kubectl apply -f yaml-pvc/mysql-pvc/storage_mysql-data.yaml
可通過 :kubectl get
storageclass查看是否創(chuàng)建成功
4逊谋、執(zhí)行yaml文件創(chuàng)建pv(在master節(jié)點(diǎn)執(zhí)行)
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土铺、執(zhí)行yaml文件創(chuàng)建pvc(在master節(jié)點(diǎn)執(zhí)行)
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板鬓、執(zhí)行yaml文件創(chuàng)建deployment(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/lw-mysql.yaml
可通過(這是掛載成功的情況,僅供參考):kubectl get -n lw-server deployment
7究恤、執(zhí)行yaml文件創(chuàng)建service(在master節(jié)點(diǎn)執(zhí)行)
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文件到存儲節(jié)點(diǎn)(測試環(huán)境存儲節(jié)點(diǎn)為ceph03)
2抄腔、解壓配置文件(在ceph03節(jié)點(diǎn)執(zhí)行)
mkdir -p /itops/zabbix_server
tar -xf conf.tar -C /itops/zabbix_server
3、修改配置文件(在ceph03節(jié)點(diǎn)執(zhí)行)
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理张、執(zhí)行yaml文件創(chuàng)建storageclass(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f
yaml-pvc/zabbix-pvc/storage_zabbix.yaml
可通過 :kubectl get
storageclass查看是否創(chuàng)建成功
5赫蛇、執(zhí)行yaml文件創(chuàng)建pv(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/zabbix-pvc/pv-zabbix.yaml
可通過(這是掛載成功的情況,僅供參考):kubectl get -n lw-server pv
6雾叭、執(zhí)行yaml文件創(chuàng)建pvc(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/zabbix-pvc/pvc-zabbix.yaml
可通過(這是掛載成功的情況悟耘,僅供參考):kubectl get -n lw-server pvc
7、執(zhí)行yaml文件創(chuàng)建deployment(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/lw-zabbix.yaml
可通過(這是掛載成功的情況织狐,僅供參考):kubectl get -n lw-server deployment
8暂幼、執(zhí)行yaml文件創(chuàng)建service(在master節(jié)點(diǎn)執(zhí)行)
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文件到存儲節(jié)點(diǎn)(測試環(huán)境存儲節(jié)點(diǎn)為ceph03)
2、解壓配置文件(在ceph03節(jié)點(diǎn)執(zhí)行)
mkdir -p /itops/
tar -xf nginx-v1.3.tar.gz -C /itops/
3厨埋、修改配置文件(在ceph03節(jié)點(diǎn)執(zhí)行)
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邪媳、執(zhí)行yaml文件創(chuàng)建storageclass(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -fyaml-pvc/nginx-pvc/storage_nginx.yaml
kubectl apply -f yaml-pvc/nginx-pvc/storage_nginx-data.yaml
可通過 :kubectl get
storageclass查看是否創(chuàng)建成功
5、執(zhí)行yaml文件創(chuàng)建pv(在master節(jié)點(diǎn)執(zhí)行)
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悲酷、執(zhí)行yaml文件創(chuàng)建pvc(在master節(jié)點(diǎn)執(zhí)行)
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亲善、執(zhí)行yaml文件創(chuàng)建deployment(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/lw-nginx.yaml
可通過(這是掛載成功的情況设易,僅供參考):kubectl get -n lw-server deployment
8、執(zhí)行yaml文件創(chuàng)建service(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/lw-nginx-service.yaml
可通過(這是掛載成功的情況蛹头,僅供參考):kubectl get -n lw-server svc
9顿肺、定時任務(wù)設(shè)置(在宿主機(jī)配置)
方法一:適用于存儲掛在宿主機(jī)本機(jī)
此方法php在宿主機(jī)執(zhí)行任務(wù)
crontab -e
50 23 * * * mysql -h mysql-proxy -uzabbix -pzabbix 'zabbix' -e "CALLpartition_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/runkitty/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 &
清除定時任務(wù):
0 0 * * 0 /usr/bin/rm
/itops/zabbix_server/logs/zabbix_traps.tmp >/dev/null
方法二:適用于存儲不掛在宿主機(jī)本機(jī)
此方法php腳本在pod內(nèi)部執(zhí)行
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/runreport/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 &
清除定時任務(wù)配置在文件服務(wù)器上:
0 0 * * 0 /usr/bin/rm
/itops/zabbix_server/logs/zabbix_traps.tmp >/dev/null
Bpm安裝
上傳文件
上傳bpm0.1.tar到k8s鏡像倉庫,上傳bpm12.zip文件到存儲節(jié)點(diǎn)(測試環(huán)境存儲節(jié)點(diǎn)為ceph03)
1渣蜗、數(shù)據(jù)庫準(zhǔn)備工作:
1.1屠尊、調(diào)整MySql配置(Window下可忽略)(在ceph03節(jié)點(diǎn)執(zhí)行)
vi /itops/mysql/etc/my.cnf
于[mysqld]下追加一行:?lower_case_table_names = 1
1.2、遠(yuǎn)程連接數(shù)據(jù)庫并按順序執(zhí)行一下SQL語句
//創(chuàng)建bpm數(shù)據(jù)庫CREATE
DATABASE bpm DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
//創(chuàng)建bpm用戶CREATE
USER 'bpm'@'%' IDENTIFIED BY '123456';
//授權(quán)grant
all privileges on bpm.* to 'bpm'@'%';
//刷新權(quán)限flush
privileges;
//切換數(shù)據(jù)庫use
bpm;
//導(dǎo)入數(shù)據(jù)庫source
/root/bpm12.sql;
// bpm跳轉(zhuǎn)地址更新耕拷,把IP修改為bpm IP
update? bpm_devdefaultcode set
DefaultCode='<script>location.href = \'http://node地址:30080\';</script>'
whereWF_OrUnid='41B5701B0EE2904D0E0835D0D27ACB8B9D49';
1.3讼昆、重啟MySQL服務(wù)(在master節(jié)點(diǎn)執(zhí)行)
kubectl delete -f yaml-pvc/lw-mysql.yaml
kubectl apply -f yaml-pvc/lw-mysql.yaml
2、TOMCAT部署(在ceph03節(jié)點(diǎn)執(zhí)行)
tar -xvf bpm12.tar -C /itops
vi /itops/bpm/bpm12/apache-tomcat-8.5.58/conf/Catalina/localhost
3骚烧、監(jiān)控平臺調(diào)整
3.1浸赫、上傳文件(在ceph03節(jié)點(diǎn)執(zhí)行)
上傳params.php文件至/itops/nginx/html/lwjk_v3/local/
3.2闰围、修改配置文件(在ceph03節(jié)點(diǎn)執(zhí)行)
vi /itops/nginx/html/lwjk_v3/local/params.php
IP修改為實際node IP
3.3、安裝bpm模塊(在nginx pod內(nèi)執(zhí)行)
cd /itops/nginx/html/lwjk_v3/
php run mm/i? bpm
3.4既峡、安裝ext(在ceph03節(jié)點(diǎn)執(zhí)行)
unzip ext.zip -d /itops/nginx/html/lwjk_v3/
容器安裝
1羡榴、執(zhí)行yaml文件創(chuàng)建storageclass(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/bpm-pvc/storage_bpm.yaml
可通過 :kubectl get
storageclass查看是否創(chuàng)建成功
執(zhí)行yaml文件創(chuàng)建pv(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/bpm-pvc/pv-bpm.yaml
可通過(這是掛載成功的情況,僅供參考):kubectl get -n lw-server pv
執(zhí)行yaml文件創(chuàng)建pvc(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/bpm-pvc/pvc-bpm.yaml
可通過(這是掛載成功的情況运敢,僅供參考):kubectl get -n lw-server pvc
執(zhí)行yaml文件創(chuàng)建deployment(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/lw-bpm.yaml
可通過(這是掛載成功的情況校仑,僅供參考):kubectl get -n lw-server deployment
執(zhí)行yaml文件創(chuàng)建service(在master節(jié)點(diǎn)執(zhí)行)
kubectl apply -f yaml-pvc/lw-bpm-service.yaml
可通過(這是掛載成功的情況,僅供參考):kubectl get -n lw-server svc
9传惠、增加菜單
訪問http://nodeip:30800/dev
自動化運(yùn)維安裝
1迄沫、上傳文件
上傳ansiblemodule.tar文件到存儲節(jié)點(diǎn)(測試環(huán)境存儲節(jié)點(diǎn)為ceph03)
mv ansiblemodule.tar /itops/nginx/html/
tar -xvf /itops/nginx/html/ansiblemodule.tar
2、進(jìn)入nginx pod內(nèi)部執(zhí)行安裝腳本
cd /itops/nginx/html/ansiblemodule
sh ansiblemodule_install.sh web
執(zhí)行結(jié)束就可以在web看到自動化運(yùn)維界面
以上就是今天要跟大家分享的內(nèi)容涉枫,我是樂維IT君邢滑,專注運(yùn)維技術(shù)分享腐螟,更多樂維技術(shù)及其他運(yùn)維技術(shù)內(nèi)容還可查看往期內(nèi)容愿汰,https://www.lwops.cn/index.php/anl/10962。