溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SaltStck 搭建Web集群-Job 管理

發(fā)布時間:2020-06-22 09:23:58 來源:網(wǎng)絡(luò) 閱讀:537 作者:酥心糖 欄目:數(shù)據(jù)庫

在SaltStack默認(rèn)的工作模式中,minion端會將數(shù)據(jù)直接返回給mysql數(shù)據(jù)庫,這個過程中不需要master參與。由于提供更加靈活的管理,也可以在master端保存minion端的執(zhí)行結(jié)果(job cache),master 端默認(rèn)的保存地址是: /var/cache/salt/master/jobs。

job cache 在master端的配置文件中有對應(yīng)的配置參數(shù):

#cachedir: /var/cache/salt/master   保存的路徑

#keep_jobs: 24    保存的時間24小時


配置Job cache直接寫入數(shù)據(jù)庫

可以通過過配置,直接將master端的cache寫入數(shù)據(jù)庫。

job cache默認(rèn)的表結(jié)構(gòu)和salt數(shù)據(jù)庫的表結(jié)構(gòu)相同,不過要是想和數(shù)據(jù)庫的交互,需要在master端安裝MySQL-python:

yum install MySQL-python -y

修改master的配置文件,在最后直接加上mysql的配置:

# vim /etc/salt/master
master_job_cache: mysql
mysql.host: '172.16.10.60'
mysql.user: 'salt'
mysql.pass: 'saltpw'
mysql.db: 'salt'
mysql.port: 3306


創(chuàng)建數(shù)據(jù)表: https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html 

CREATE DATABASE  `salt`
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;USE `salt`;---- Table structure for table `jids`--DROP TABLE IF EXISTS `jids`;CREATE TABLE `jids` (
  `jid` varchar(255) NOT NULL,
  `load` mediumtext NOT NULL,
  UNIQUE KEY `jid` (`jid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE INDEX jid ON jids(jid) USING BTREE;---- Table structure for table `salt_returns`--DROP TABLE IF EXISTS `salt_returns`;CREATE TABLE `salt_returns` (
  `fun` varchar(50) NOT NULL,
  `jid` varchar(255) NOT NULL,
  `return` mediumtext NOT NULL,
  `id` varchar(255) NOT NULL,
  `success` varchar(10) NOT NULL,
  `full_ret` mediumtext NOT NULL,
  `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  KEY `id` (`id`),
  KEY `jid` (`jid`),
  KEY `fun` (`fun`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `salt_events`--DROP TABLE IF EXISTS `salt_events`;CREATE TABLE `salt_events` (`id` BIGINT NOT NULL AUTO_INCREMENT,`tag` varchar(255) NOT NULL,`data` mediumtext NOT NULL,`alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,`master_id` varchar(255) NOT NULL,PRIMARY KEY (`id`),KEY `tag` (`tag`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

數(shù)據(jù)庫中創(chuàng)建授權(quán)用戶:

grant all on salt.*  to salt@172.16.10.60 identified by 'saltpw';

重啟salt-master:

# systemctl  restart salt-master

在master端執(zhí)行:

# salt '*' test.ping

如果沒有任何報錯,說明執(zhí)行成功,可以在mysql中查看數(shù)據(jù)是否寫入:

MariaDB [salt]> use salt;select * from salt_returns\G

每執(zhí)行一次,就會生成兩條記錄(兩個minion).

這樣,每次執(zhí)行的job cache都會返回到數(shù)據(jù)庫中。


salt 常用的管理命令:

# salt-run  jobs.list_jobs 查看歷史執(zhí)行的salt job-cache任務(wù),從目錄中去查詢,而不是從數(shù)據(jù)庫。

# salt-run jobs.lookup_jid 20161124144637116519  查看某個任務(wù)的執(zhí)行結(jié)果


查看當(dāng)前minion的狀態(tài):

# salt-run manage.status  


查看處于down狀態(tài)的minion:

# salt-run manage-down


查看處于up狀態(tài)的minion:

# salt-run manage-up


查看版本信息:

# salt-run manage.versions


在執(zhí)行的時候返回JID,加 -v參數(shù):

# salt '*' test.run -v



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI