生活随笔
收集整理的這篇文章主要介紹了
SaltStack 学习笔记 - 第六篇: 详解Pillar
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
什么是Pillar?
Pillar是在salt 0.9.8版本后才添加的功能組件。它跟grains的結(jié)構(gòu)一樣,也是一個字典格式,數(shù)據(jù)通過key/value的格式進行存儲。在Salt的設(shè)計中,Pillar使用獨立的加密sessiion,所以Pillar可以用來傳遞敏感的數(shù)據(jù),例如ssh-key,加密證書等。
Pillar 是什么樣子?
###??一臺centos?6.5的?dell?r420服務器的pillar
[root@yw_home?_grains]#?salt?192.168.0.100?pillar.data
192.168.0.100:----------master:----------auth_mode:1auto_accept:Falsecachedir:/var/cache/salt/masterclient_acl:----------client_acl_blacklist:----------cluster_masters:cluster_mode:paranoidconf_file:/etc/salt/masterconfig_dir:/etc/saltcython_enable:Falsedaemon:Truedefault_include:master.d/*.confenable_gpu_grains:Falseenforce_mine_cache:Falseenumerate_proxy_minions:Falseenvironment:Noneext_job_cache:ext_pillar:extension_modules:/var/cache/salt/master/extmodsexternal_auth:----------external_nodes:failhard:Falsefile_buffer_size:1048576file_client:localfile_ignore_glob:Nonefile_ignore_regex:Nonefile_recv:Falsefile_roots:----------base:-?/srv/saltfileserver_backend:-?rootsfileserver_followsymlinks:Truefileserver_ignoresymlinks:Falsefileserver_limit_traversal:Falsegather_job_timeout:2gitfs_base:mastergitfs_remotes:gitfs_root:hash_type:md5hgfs_base:defaulthgfs_branch_method:brancheshgfs_remotes:hgfs_root:id:192.168.0.100interface:0.0.0.0ipv6:Falsejinja_lstrip_blocks:Falsejinja_trim_blocks:Falsejob_cache:Truekeep_jobs:24key_logfile:/var/log/salt/keykeysize:4096log_datefmt:%H:%M:%Slog_datefmt_logfile:%Y-%m-%d?%H:%M:%Slog_file:/data/logs/salt_master.loglog_fmt_console:[%(levelname)-8s]?%(message)slog_fmt_logfile:%(asctime)s,%(msecs)03.0f?[%(name)-17s][%(levelname)-8s]?%(message)slog_granular_levels:----------log_level:warningloop_interval:60master_ext_job_cache:master_roots:----------base:-?/srv/salt-mastermaster_tops:----------max_open_files:100000minion_data_cache:Truenodegroups:----------group_all:*open_mode:Falseorder_masters:Falseoutputter_dirs:peer:----------permissive_pki_access:Falsepidfile:/var/run/salt-master.pidpillar_opts:Truepillar_roots:----------base:-?/srv/salt/pillarpillar_version:2pki_dir:/etc/salt/pki/masterpub_hwm:1000publish_port:4505publish_session:86400range_server:range:80reactor:renderer:yaml_jinjaret_port:4506root_dir:/runner_dirs:salt_transport:zeromqsaltversion:2014.1.0search:search_index_interval:3600serial:msgpacksign_pub_messages:Falsesock_dir:/var/run/salt/masterstate_auto_order:Truestate_events:Truestate_output:fullstate_top:salt://top.slsstate_verbose:Truesvnfs_remotes:svnfs_root:syndic_master:syndic_master_port:4506syndic_wait:1timeout:5token_dir:/var/cache/salt/master/tokenstoken_expire:43200user:rootverify_env:Truewin_gitrepos:-?https://github.com/saltstack/salt-winrepo.gitwin_repo:/srv/salt/win/repowin_repo_mastercachefile:/srv/salt/win/repo/winrepo.pworker_threads:10
pillar的數(shù)據(jù)是跟特定的minion關(guān)聯(lián)的,可以用來傳遞minion自己的信息。管理員也可以自定義自己的pillar來對minion進行管理。
默認情況下,master配置文件中的所有數(shù)據(jù)都添加到Pillar中,且對所有minion可用。如果要禁用這一默認值,可以在master配置文件中添加如下數(shù)據(jù),重啟服務后生效:
pillar_opts:?False
自定義Pillar數(shù)據(jù) ?
在Master的SLS文件中定義
假設(shè)使用默認pillar_roots配置 /srv/pillar
vim?/srv/pillar/top.sls
##?編輯pillar?的?top.sls?文件添加下面內(nèi)容
base?:?'*':-?data-?git
dev??:'os:CentOs':-?git????vim?/srv/pillar/data/init.sls
##?添加下面內(nèi)容
roles:webservervim??/srv/pillar/git.sls
##?添加下面內(nèi)容
{%?if?grains['os']?==?'CentOs'?%}?
git:?git
{%?elif?grains['os']?==?'Debian'?%}?
git:?git-core
{%?endif?%}
pillar 更sls一樣擁有自己的top.sls文件,通過top.sls文件作為入口,組織其它的pillar文件。
data定義了一個roles的值,如果不使用詳細的data.init聲明,則默認會使用data下的init.sls作為聲明文件,如果同時存在data.sls跟data/init.sls文件,則會優(yōu)先使用data.sls文件來訪問。
git是使用grains的系統(tǒng)類型來進行不同的pillar定義。
在master上修改Pilla文件后,需要用以下命令刷新minion上的數(shù)據(jù):
salt?'192.168.0.100'?saltutil.refresh_pillar
怎么使用Pillar ?
? ? ? Salt使用-I 選項來使用
salt?-I?'roles:webserver'?test.ping
需要根據(jù)系統(tǒng)環(huán)境安裝一個git軟件
vim?/srv/salt/git_env.sls
##?添加下面內(nèi)容
git?:?pkg.installed:-?name?:?{{pillar['git']}}##?或是添加成下面樣式,設(shè)置默認的pillar值
git:pkg.installed:-?name:?{{?salt['pillar.get']('git',?'git')?}}
?
參考文章:?
http://www.ituring.com.cn/article/42398
http://docs.saltstack.cn/topics/pillar/index.html
轉(zhuǎn)載于:https://blog.51cto.com/arlen/1424515
總結(jié)
以上是生活随笔為你收集整理的SaltStack 学习笔记 - 第六篇: 详解Pillar的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。