本篇部落格承接saltstack安裝部署和saltstack—— grains,pillar,jinja模組的使用
建立目錄。
[root@server1 keepalived]# vim files/keepalived.conf
! configuration file for keepalived
global_defs
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id lvs_devel
}vrrp_instance vi_1 }
inte***ce eth0
virtual_router_id }
priority }
advert_int 1
authentication
virtual_ipaddress
}
編寫keepalived的主配置檔案。
[root@server1 keepalived]# vim /srv/pillar/vars.sls
state: backup
vrid: 26
priority: 50 ##優先值
ip: 172.25.26.3
state: master
vrid: 26
priority: 100
ip: 172.25.26.2
編寫pillar目錄下的檔案,設定主備機以及vip的優先值,我在server2設定的優先值為100,所以vip預設在server2.
[root@server1 keepalived]# vim install.sls
kp-install:
pkg.installed:
- pkgs:
- keepalived ##安裝keepalived
file.managed:
- name: /etc/keepalived/keepalived.conf ##拷貝目標目錄
- source: salt://keepalived/files/keepalived.conf ##將主配置檔案拷貝到遠端主機
- template: jinja
- context:
state: }
vrid: }
priority: } ##pillar目錄中設定的值。
service.running: ##開啟服務
- name: keepalived
- enable: true
- reload: true
- watch:
- file: kp-install
編寫自動部署的sls檔案。
推送。
在server2中檢視到vip:172.25.26.100.
[root@server1 keepalived]# vim /srv/salt/top.sls
base:
'server2':
- keepalived.install
'server3':
- keepalived.install
因為要在兩台主機上部署,所以在salt目錄寫乙個top.sls檔案。
推送。
[root@server2 keepalived]# systemctl stop keepalived
將server2的keepalived服務停止。
此時vip已經飄到server3了。
因為前面設定的優先順序,所以再次開啟服務後vip又會漂到server2
thanos實現prometheus高可用
thanos元件 通用api store api提供服務給查詢介面,通過grpc查詢prometheus的remote read介面,rule的storeapi,store gateway的storeapi。一 thanos query 1 封裝prometheus query api,支援prom...
keepalived實現nginx的高可用
前言 優化nginx proxy 可能出現單點故障的情況,通過keepalived得方式來完成nginx proxy伺服器之間的高可用,因為keepalived的工作機制是通過心跳線來檢測伺服器之間是否出現故障,但是並不能檢測nginx proxy 服務是否正常工作,所以需要採用編寫指令碼判斷的方式...
用Docker Swarm實現容器服務高可用
如何用容器快速部署這三個應用?如何提高效能?如何保障後端可用性?在我以往的實踐中,容器的編排使用了docker compose實現,問題一就已經解決。但docker compose也只是用於編排,可以各啟動三個服務的乙個容器,效能與高可用性就可能不能滿足要求。對於效能與高可用,如果是大型專案,目前不...