SaltStck 搭建Web集群 Job 管理

2021-09-21 03:03:23 字數 2829 閱讀 4439

在saltstack預設的工作模式中,minion端會將資料直接返回給mysql資料庫,這個過程中不需要master參與。由於提供更加靈活的管理,也可以在master端儲存minion端的執行結果(job cache),master 端預設的儲存位址是: /var/cache/salt/master/jobs。

job cache 在master端的配置檔案中有對應的配置引數:

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

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

配置job cache直接寫入資料庫

可以通過過配置,直接將master端的cache寫入資料庫。

job cache預設的表結構和salt資料庫的表結構相同,不過要是想和資料庫的互動,需要在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

建立資料表: 

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;

資料庫中建立授權使用者:

grant all on salt.*  to [email protected] identified by 'saltpw';
重啟salt-master:

# systemctl  restart salt-master
在master端執行:

# salt '*' test.ping
如果沒有任何報錯,說明執行成功,可以在mysql中檢視資料是否寫入:

mariadb [salt]> use salt;select * from salt_returns\g
每執行一次,就會生成兩條記錄(兩個minion).

這樣,每次執行的job cache都會返回到資料庫中。

salt 常用的管理命令:

# salt-run  jobs.list_jobs 檢視歷史執行的salt job-cache任務,從目錄中去查詢,而不是從資料庫。

# salt-run jobs.lookup_jid 20161124144637116519  檢視某個任務的執行結果

檢視當前minion的狀態:

# salt-run manage.status  

檢視處於down狀態的minion:

# salt-run manage-down

檢視處於up狀態的minion:

# salt-run manage-up

檢視版本資訊:

# salt-run manage.versions

在執行的時候返回jid,加 -v引數:

# salt '*' test.run -v

LVS之VS NAT搭建web集群實戰!!!

專案背景 利用lvs的vs nat技術實現乙個由負載排程器和兩個web伺服器組成的架構!試驗環境 vmware workstation 11 centos6.5的系統下 load balance ip 192.168.0.32 vip 192.168.1.32 關閉iptables setenfor...

用 KVM 搭建web集群實驗筆記 環境準備

本系列文章是自己的kvm 和linux web集群實驗筆記。目標是用kvm虛擬機器搭建乙個完整的web集群 將工作中用到的 書上看到的和網上看到的技術,在虛擬機器環境下實現一遍,並整理記錄下來。宿主機選擇的centos 6.6 64位,安裝圖形介面。客戶機的作業系統也選擇centos 6.6,min...

redis搭建集群(偽集群)

1 建立6個資料夾 2 複製redis.conf檔案,並修改redis.conf 配置檔案 3 建立集群 4 連線客戶端 5 檢視狀態 建立 6個資料夾來存放redis.conf,因為redis集群最小需要的是,三組三從,每個資料夾代表一台伺服器,6007跟6008可忽略 先複製乙個到6001資料夾...