puppet多環境配置(puppet自動化系列2)

2022-08-27 07:21:10 字數 4662 閱讀 8414

我們為puppetmaster建立3個環境,它們分別是開發環境(jqdev)、測試環境(jqtest)、生產環境(jqprd).

3.1 配置puppet.conf

在標籤[master]中新增environments環境,其次建立對應的環境標籤及配置建立目錄

[root@puppetmaster1 puppet]# cd /etc/puppet/

[root@puppetmaster1 puppet]# mkdir -p environments/jqdev

[root@puppetmaster1 puppet]# mkdir -p environments/jqprd

[root@puppetmaster1 puppet]# mkdir -p environments/jqtest

移動預設環境modules中的配置到jqprd對應的環境中

其中puppet和yum模組屬於基礎環境模組,motd屬於應用環境模組,關於此類puppet,yum,motd模組方案,請參見kisspuppet.com。

[root@puppetmaster1 environments]# mv /etc/puppet/modules/puppet jqprd/environment/modules/
[root@puppetmaster1 environments]# mv /etc/puppet/modules/yum  jqprd/environment/modules/
複製manifests檔案至jqprd環境中

[root@puppetmaster1 environments]# cp /etc/puppet/manifests jqprd/ -r

刪除掉預設環境manifests中site.pp檔案內容

因為模組已經移除,其次預設環境production已經不再使用了。

[root@puppetmaster environments]# >/etc/puppet/manifests/site.pp

建立fileserverconfig檔案

[root@puppetmaster ~]# cp /etc/puppet/fileserver.conf
[root@puppetmaster ~]# cp /etc/puppet/fileserver.conf
[root@puppetmaster ~]# cp /etc/puppet/fileserver.conf
[root@puppetmaster ~]# ll /etc/puppet/
total 88
-rw-r--r-- 1 root root  2569 jan  7 07:51 auth.conf
-rw-r--r-- 1 root root    17 mar  9 17:54 autosign.conf.bak
drwxr-xr-x 5 root root  4096 mar 27 22:33 environments
-rw-r--r-- 1 root root   381 jan  7 07:49 fileserver.conf
-rw-r--r-- 1 root root   381 mar 27 22:46 fileserver.conf.jqdev  #指向jqdev環境
-rw-r--r-- 1 root root   381 mar 27 22:46 fileserver.conf.jqprd  #指向jqmq環境
-rw-r--r-- 1 root root   381 mar 27 22:46 fileserver.conf.jqtest   #指向jqdev環境
drwxr-xr-x 2 root root  4096 mar 25 05:23 manifests
drwxr-xr-x 2 root root  4096 mar 27 22:40 modules
-rw-r--r-- 1 root root  1063 mar 27 21:55 puppet.conf
-rw-r--r-- 1 root root   853 mar  9 00:48 puppet.conf.bak
-rw-r--r-- 1 root root 42031 mar  9 03:25 puppet.conf.out
最後配置puppetmaster配置檔案

[root@puppetmaster1 puppet]# grep -v "#" ./puppet.conf

[main]

logdir = /var/log/puppet

rundir = /var/run/puppet

ssldir = $vardir/ssl

[agent]

classfile = $vardir/classes.txt

localconfig = $vardir/localconfig

server = puppetmaster1.jq.com

certname = puppetmaster1_cert.jq.com

[master]

certname = puppetmaster1.jq.com

environments = jqdev,jqtest,jqprd

basemodulepath   = /etc/puppet/modules:/usr/share/puppet/modules 

[jqdev]

manifest = $confdir/environments/jqdev/manifests/site.pp

fileserverconfig = /etc/puppet/fileserver.conf.jqdev

[jqtest]

manifest = $confdir/environments/jqtest/manifests/site.pp

fileserverconfig = /etc/puppet/fileserver.conf.jqtest

[jqprd]

manifest = $confdir/environments/jqprd/manifests/site.pp

fileserverconfig = /etc/puppet/fileserver.conf.jqprd

重啟puppetmaster服務

[root@puppetmaster1 ~]# /etc/init.d/puppetmaster restart
stopping puppetmaster:                                     [  ok  ]
starting puppetmaster:                                     [  ok  ]
在客戶端測試

[root@ag1 yum.repos.d]# puppet agent -t --environment=jqprd

info: retrieving pluginfacts

info: retrieving plugin

info: loading facts

info: caching catalog for ag1_cert.jq.com

本系統puppet均根據kisspuppet的部落格(進行實驗,非常感謝!!!

3.7的版本,多環境變數,配置有變更,詳情如下:

徹底搞定。詳情如下:

jqprd下的配置檔案如下:

[root@pm01 jqprd]# pwd

/etc/puppet/environments/jqprd

[root@pm01 jqprd]# cat environment.conf

modulepath =

Gradle多環境配置

在開發中遇到了多個不同的環境,比如測試環境,上線環境,甚至根據不同開發組有多個環境,平常做法就是建乙個類來儲存,然後在裡面不停的注釋來達到切換環境的效果,其實gradle提供了多環境配置,配置起來也挺簡單的,也不用之前的無腦注釋了.首先開啟自己的gradle,在buildtype裡面有當前的兩個環境...

SpringBoot 多環境配置

在我們的實際開發中,一般都有三套環境,開發環境,測試環境,生產環境,三套環境的資料庫連線配置也有所不同,比如,埠,ip位址等等。如果在打包時候都頻繁的修改配置檔案資訊,那必將是非常容易出錯的地方。還有乙個正式 在這個檔案中配置 spring.profiles.active test來指明對應哪個檔案...

springboot多環境配置

dev本地開發環境 server.port 1111 test測試環境 server.port 2222 pre預發布環境 server.port 3333 proc生產環境 server.port 4444 dev本地開發環境 spring.profiles.active dev test測試環境...