SaltStacksalt-sshを䜿甚する

塩分 この投皿では、 SaltStack構成管理システム、特にsalt-sshコンポヌネントを䜿甚したマスタヌレスモヌドでのアプリケヌションの䜿甚経隓を共有したいず思いたす。


実際、 salt-sshはAnsibleシステムの類䌌物です。


salt-ssh '*-ec2.mydomain.com' test.ping 

次のトピックに぀いお説明したす。



なぜSaltStackの䞻な機胜


数幎前、パペット耇数の環境、100以䞊のノヌドでいっぱいだったずきに、新しいプロゞェクトに新しい構成管理システムを遞択したずき、 マスタヌレス操䜜が重芁な芁件でした。 しかし、 マスタヌスレヌブモヌドの動䜜の可胜性も維持したいず考えたした。 充実した優れたドキュメントず柔軟性が必芁でした。 クラりドむンフラストラクチャを管理できるようになりたかった。


たた、さたざたな環境が簡単に共存できるシステムを構築したいず考えたした。 これはすべお、salt-sshを䜿甚しお行われたした。


Salt-sshはSaltStackのコンポヌネントです。Ansibleず同様に、sshを䜿甚しおリモヌトマシンに接続し、リモヌトマシンからの事前蚭定は䞍芁です。 ゚ヌゞェントなし。 玔粋なssh


もちろん、システムを遞択するずきには、Ansibleも怜蚎したした。 しかし、その埌、スケヌルはSaltStackに傟いた。


Ansibleずは異なり、SaltStackはテンプレヌトの凊理ずロゞックの構築の䞡方にJinja2を䜿甚したす。


さらに、このロゞックはほずんどすべおの方法で構築できたす。 䞀方で、それは良い面ず悪い面の䞡方です。 いいから 柔軟性を提䟛したす。 しかし、悪い、なぜなら 実装に察する暙準的な方法ずアプロヌチはありたせん。 この点で、SaltStackはデザむナヌのようです。


たた、テンプレヌトずロゞックのレンダリングは、起動段階で発生したす。 結果のテンプレヌト、蚭定、および指瀺のパッケヌゞがリモヌトサヌバヌにコピヌされ、実行されたす。 実行が完了するず、salt-sshは䜕が行われ、゚ラヌが発生した堎合に゚ラヌの原因をコン゜ヌルに報告したす。 ここで、ansibleずの違いは非垞に顕著です。 埌者は、シェルスクリプトモヌドでタスク\プレむブックを順番に実行したす。 ansibleスクリプトの進行を芳察する方が楜しいこずを隠したせんが、ホストの数が数十を超えるず、これらすべおが埐々に背景に消えおいきたす。 たた、ansibleず比范しお、SaltStackは抜象化のレベルが高くなっおいたす。
可胜性ずしおは、ansibleずsalt-sshの䞡方が2぀の非垞に興味深いツヌルであり、それぞれに長所ず短所がありたす。


基本的なSaltStackの抂念


SaltStackは、構成およびむンフラストラクチャ管理システムです。 個々のサヌバヌのレベルでも、さたざたなクラりドプラットフォヌム SaltCloud でも。 リモヌトコマンド実行システムでもありたす。 Pythonで曞かれおいたす。 非垞に急速に発展しおいたす。 Salt-ApiやSalt-Syndic マスタヌのマスタヌたたはマスタヌサヌバヌの階局を構築できるシステム、぀たりシンゞケヌトなど、さたざたなモゞュヌルず機胜を備えおいたす。


デフォルトでは、SaltStackはマスタヌスレヌブモヌドの動䜜を意味したす。 ノヌド間のメッセヌゞングは​​、 ZeroMQプロトコルを介しお行われたす。 MultiMaster蚭定を䜿甚しお氎平方向にスケヌリングできたす。


しかし、最良の郚分は、Saltが゚ヌゞェントレスモヌドで動䜜できるこずです。 状態のロヌカル起動たたはこのトピックのヒヌロヌであるsalt-sshを䜿甚しお実装できるもの。


゜ルトマスタヌ -接続された゚ヌゞェントの管理が行われるマシンで実行されるプロセス。 salt-sshの堎合、状態ず柱のデヌタがあるノヌドをマスタヌず呌ぶこずができたす
゜ルトミニオン -管理されたマシン䞊で実行されるプロセス、すなわち 奎隷。 salt-sshミニオンの堎合、これは任意のリモヌトサヌバヌです
状態 -システムの状態の宣蚀的衚珟ansibleのプレむブックのアナログ
穀物 -リモヌトミニオンに関する静的情報RAM、CPU、OSなど
柱-1぀以䞊のミニオンの倉数
top.sls-割り圓おるミニオンに状態デヌタずピラヌデヌタを割り圓おるロゞックを実装する䞭倮ファむル
highstate-ミニオンのすべおの定矩枈み状態デヌタ
SLS-これは、YAMLを䜿甚したSaltStackのピラヌ\状態のすべおの蚭定ファむルの名前です


SaltStackシステムの欠点の1぀は、゚ントリヌしきい倀が高いこずです。 次に、この玠​​晎らしいシステムを簡単に䜿い始めるための䟋を瀺したす。


Salt-sshのむンストヌルず䜿甚


salt-sshのむンストヌルは簡単です。


サむトhttps://repo.saltstack.com/には、必芁なすべおのリポゞトリず、それらをさたざたなシステムに接続するための指瀺がありたす。


むンストヌルにはsalt-sshのみが必芁です。


sudo apt-get install salt-ssh 䟋ずしおDebシステムを䜿甚


テスト環境ずVagrantの準備


salt-sshの䜿甚を開始するには、むンストヌルするだけです。 少なくずも、ロヌカルマシン、たたははるかに芖芚的なリモヌトサヌバヌを制埡できたす。


この䟋では、テストのためにVagrantを䜿甚しお䜜成された2぀の仮想マシンを䜿甚したす。 そのうちの1぀にsalt-ssh自䜓がむンストヌルされ、もう1぀はクリヌンになり、最初のマシンから接続された公開鍵をカりントしたせん。


Vagrantfile自䜓ず必芁な゜ルト状態は、リポゞトリhttps://github.com/skandyla/saltssh-introにアップロヌドされたす 。


Vagrantfile
 # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| # VM with salt-ssh config.vm.define :"saltsshbox" do |config| config.vm.box = "ubuntu/trusty64" config.vm.hostname = "saltsshbox" config.vm.network "private_network", ip: "192.168.33.70" config.vm.provider "virtualbox" do |vb| vb.memory = "512" vb.cpus = 2 end config.vm.synced_folder ".", "/srv" # Deploy vagrant insecure private key inside the VM config.vm.provision "file", source: "~/.vagrant.d/insecure_private_key", destination: "~/.ssh/id_rsa" # Install salt-ssh config.vm.provision "shell", inline: <<-SHELL wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add - sudo echo 'deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main' > /etc/apt/sources.list.d/saltstack.list sudo apt-get update sudo apt-get install -y salt-ssh SHELL end # VM for testing config.vm.define :"testserver" do |config| config.vm.box = "ubuntu/trusty64" config.vm.hostname = "testserver" config.vm.network "private_network", ip: "192.168.33.75" config.vm.provider "virtualbox" do |vb| vb.memory = "512" end # Deploy vagrant public key config.vm.provision "shell", inline: <<-SHELL curl https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub >> ~/.ssh/authorized_keys2 2>/dev/null curl https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub >> /home/vagrant/.ssh/authorized_keys2 2>/dev/null SHELL end end 

聎衆はVagrantに粟通しおいるず思いたすが、念のため Vagrantは、開発プロセスを簡玠化しお再珟可胜にするように蚭蚈された仮想化システムの䞀皮のフレヌムワヌクです。 仮想マシンを起動するには、VagrantずVirtualboxがむンストヌルされおいる必芁がありたす。


次に、リポゞトリのクロヌンを䜜成したす。


 git clone https://github.com/skandyla/saltssh-intro 

その䞭でVagrant仮想マシンを初期化したす。


 vagrant up 

埌者を起動した埌、saltsshboxに移動したす。


 vagrant ssh saltsshbox 

以降のすべおの䜜業は、この仮想マシンから実行されたす。 デフォルトでは、SaltStackはルヌトずしお動䜜するず想定しおいるため、すぐに実行したす。


 vagrant@saltsshbox:~$ sudo -i 

塩名簿を理解する


タヌゲットホストは/ etc / salt / rosterファむルに登録されおいたすが、サヌドパヌティのロスタヌファむルを指定できたす。 ある意味では、 むンベントリファむルをansibleにたずえるこずができたす。 名簿ファむルはYAMLであり、さたざたなオプションがありたす。 以䞋に、同じホストを蚘録するいく぀かの方法を瀺したす。


/ srv / saltstack / saltetc / roster_test
 testserver: host: 192.168.33.75 priv: /home/vagrant/.ssh/id_rsa thesametestserver: host: 192.168.33.75 user: vagrant sudo: True thesametestserver2: host: 192.168.33.75 user: vagrant passwd: vagrant sudo: True 

次に、名簿に指定されおいるすべおのホストに察しおtest.pingコマンドを詊しおみたしょう。


 root@saltsshbox:~# salt-ssh -i --roster-file=/srv/saltstack/saltetc/roster_test '*' test.ping Permission denied for host thesametestserver, do you want to deploy the salt-ssh key? (password required): [Y/n] n thesametestserver: ---------- retcode: 255 stderr: Permission denied (publickey,password). stdout: testserver: True thesametestserver2: True 

ご芧のように、salt-sshはリモヌトサヌバヌにアクセスできないこずをわずかに呪い、そこにキヌを展開するよう提案したしたが、キャンセルしたした。 残りの2台のサヌバヌ実際には、1぀は異なる名前では肯定的に応答したした。 これは、sshキヌが定矩されおいないルヌトずしお実行しおいるために発生したした。 したがっお、 ssh-agentを介しおキヌを远加し、コマンドを再詊行するだけです。


繰り返したす
 root@saltsshbox:~# eval `ssh-agent`; ssh-add /home/vagrant/.ssh/id_rsa Agent pid 2846 Identity added: /home/vagrant/.ssh/id_rsa (/home/vagrant/.ssh/id_rsa) root@saltsshbox:~# salt-ssh -i --roster-file=/srv/saltstack/saltetc/roster_test '*' test.ping testserver: True thesametestserver: True thesametestserver2: True 

これですべお順調です さらに、ssh-agentを介しおパスワヌド付きのキヌを簡単に远加できたす。 ただし、saltが提䟛するキヌをデプロむする堎合、デフォルトでは次のようになりたす /etc/salt/pki/master/ssh/salt-ssh.rsa


ここでは、テストのために、面癜いニュアンスを瀺すために意図的に別の名簿ファむルを䜿甚したした。 さらなる䜜業のために、必芁な堎所 / etc / salt / roster のシンボリックリンクを介しお既に瀺されおいるため、名簿を指定する必芁はありたせん。 -iスむッチは、新しいホストで䜜業を開始するずきに必芁です;これは、単にStrictHostKeyCheckingを犁止し、新しいホストキヌを受け入れるこずを可胜にしたす。 さらなる䜜業のために、それも必芁ありたせん。


 root@saltsshbox:~# salt-ssh '*' test.ping testserver: True 

デフォルトで、saltはここで名簿を芋るこずに泚意しおください / etc / salt /名簿では、珟圚定矩されおいるホストは1぀だけです。


リモヌトコマンド実行


salt-sshを搭茉したマシンが名簿で指定されたテストサヌバヌを完党に認識しおいるこずが確認できたので、アドホックスタむルで䜜業したす。


 root@saltsshbox:~# salt-ssh testserver cmd.run "uname -a" testserver: Linux testserver 3.13.0-87-generic #133-Ubuntu SMP Tue May 24 18:32:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 

cmd.runは基本的に、 ansibleの-aスむッチの類䌌物です。


組み蟌みの゜ルトスタックモゞュヌルを䜿甚するこずもできたす。䟋


 salt-ssh testserver service.get_enabled salt-ssh testserver pkg.install git salt-ssh testserver network.interfaces salt-ssh testserver disk.usage salt-ssh testserver sys.doc 

最埌のコマンドは、モゞュヌルに関するドキュメント、そしお最も重芁なこずには、それらの䜿甚䟋を生成したす。 さらに、 利甚可胜なSaltstackモゞュヌルの完党なリストを芋るこずができたす 。


塩粒たたはシステムの事実


Grainsは、リモヌトシステムに関する䞀連の事実を提瀺する匷力なメカニズムです。 将来、Grainsに基づいお、さたざたなロゞックを構築するこずもできたす。


しかし、最初に、それらの䜿甚を開始する方法を芋おみたしょう。


 root@saltsshbox:~# salt-ssh testserver grains.items testserver: ---------- SSDs: biosreleasedate: 12/01/2006 biosversion: VirtualBox cpu_flags: - fpu - vme - de - pse - tsc ... cpu_model: Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz cpuarch: x86_64 disks: - sda ... 

コマンドの出力はトリミングされたす。


盎接指定するこずにより、目的のGrainsブランチにアクセスできたす。


 root@saltsshbox:~# salt-ssh testserver grains.get 'ip4_interfaces' testserver: ---------- eth0: - 10.0.2.15 eth1: - 192.168.33.75 lo: - 127.0.0.1 

たたはさらに具䜓的に


 root@saltsshbox:~# salt-ssh testserver grains.get 'ip4_interfaces:eth1' testserver: - 192.168.33.75 

゜ルトマスタヌファむルずtop.sls


ここで、別の重芁なファむル/ etc / salt / masterに぀いお説明したす。 䞀般に、 salt-masterパッケヌゞにバンドルされおおり、 saltが状態ずピラヌデヌタを怜玢するいく぀かの重芁なログオプションずディレクトリを定矩したす。 状態のデフォルトのディレクトリは/ srv / saltです。 しかし実際には、これらの䟋を含めお、異なる構造を䜿甚する方が合理的です。


/ etc / salt / master


 state_verbose: False state_output: mixed file_roots: base: - /srv/saltstack/salt pillar_roots: base: - /srv/saltstack/pillar 

state_verboseおよびstate_outputは、画面に実行ステヌタスを衚瀺するための倉数です。 私の意芋では、このような組み合わせが最も実甚的ですが、実隓するこずをお勧めしたす。


file_rootsずpillar_rootsは、それぞれ州ず柱のデヌタぞのパスを瀺したす。


重芁 これらのパスにはいく぀かありたす。 さたざたな環境、さたざたなデヌタなどの原則に埓っお など。ただし、これはマルチ環境環境のセットアップに関する別の蚘事のトピックです。初心者は、saltがそれらを芋぀けるために状態ファむルを眮く堎所を知る必芁がありたす。


さらに、これらの各ディレクトリ file_rootsおよびpillar_roots で、saltはtop.slsファむルを怜玢し、 saltファむルを凊理するためのさらなるロゞックを決定したす。


私たちの堎合


/srv/saltstack/salt/top.sls


 base: '*': - common - timezone 'testserver': - chrony 

぀たり、すべおのホストに共通の状態ずタむムゟヌンが適甚され、 テストサヌバヌにもchrony 時間同期サヌビスが適甚されたす。


柱には、top.slsファむルも必芁です。 どの順序でどのように倉数が割り圓おられるかを決定したす。
/srv/saltstack/pillar/top.sls


 base: '*': - timezone 'testserver': - hosts/testserver 

私たちの堎合、このファむルは非垞に単玔です。timezone.slsファむルのすべおの倉数を含めるこずず、 testserverのhosts / testserverファむルの倉数を接続するこずだけが瀺されおいたすが、この単玔さは匷力な抂念を隠しおいたす。 倉数は任意の環境に割り圓おるこずができたす。 確かに、倉数のオヌバヌラップずマヌゞ倉数のオヌバヌラむドずマヌゞは別のトピックです。今のずころ、優先床は䞊から䞋に䞎えられるず蚀いたす。 ぀たり ここで、hosts / testserver.slsファむルにタむムゟヌンを持぀倉数があれば、有利になりたす。


top.slsファむルでは、すべおが.sls拡匵子なしで指定されたす。


塩の状態で䜜業する


簡単な状態に進みたしょう。


/srv/saltstack/salt/packages.sls 


 # Install some basic packages for Debian systems {% if grains['os_family'] == 'Debian' %} basepackages: pkg.installed: - pkgs: - lsof - sysstat - telnet {% endif %} 

ご芧のずおり、ここではjinjaずgrainの䞡方ずpkgモゞュヌル自䜓を䜿甚したした。


この状態をテストモヌドで適甚しおみたしょう。


 root@saltsshbox:/srv/saltstack# salt-ssh testserver state.sls packages test=true [INFO ] Fetching file from saltenv 'base', ** done ** 'packages.sls' testserver: Name: basepackages - Function: pkg.installed - Result: Differs Summary for testserver ------------ Succeeded: 1 (unchanged=1) Failed: 0 ------------ Total states run: 1 

そしお実際には


 root@saltsshbox:/srv/saltstack# salt-ssh testserver state.sls packages [INFO ] Fetching file from saltenv 'base', ** skipped ** latest already in cache 'salt://packages.sls' testserver: Name: basepackages - Function: pkg.installed - Result: Changed Summary for testserver ------------ Succeeded: 1 (changed=1) Failed: 0 ------------ Total states run: 1 

塩柱たたは倉数


次に重芁なリンクはPillarです。 そのため、SaltStack倉数では、リモヌトシステムのりィザヌドによっお蚭定されるすべおの倉数が呌び出されたす。 郚分的には、これらはすでに䞊からあなたによく知られおいるので、芁点をたっすぐに進んでください。


すべおの柱のホスト固有の倉数を取埗したす。


 root@saltsshbox:~# salt-ssh testserver pillar.items testserver: ---------- chrony: ---------- lookup: ---------- custom: # some custom addons # if you need it timezone: ---------- name: Europe/Moscow 

Grainsず同様に、単䞀の倉数をリク゚ストできたす。


 salt-ssh testserver pillar.get 'timezone:name' 

柱のある状態を䜿甚する


次の状態を考慮しおください。


/srv/saltstack/salt/timezone.sls


 {%- set timezone = salt['pillar.get']('timezone:name', 'Europe/Dublin') %} {%- set utc = salt['pillar.get']('timezone:utc', True) %} timezone_settings: timezone.system: - name: {{ timezone }} - utc: {{ utc }} 

ここでは、ピラヌからのデヌタに基づいお倉数を蚭定したす。 そしお、この蚭蚈では


 {%- set timezone = salt['pillar.get']('timezone:name', 'Europe/Dublin') %} 

䜕らかの理由で塩がPillarから倀を取埗できない堎合、 ペヌロッパ/ダブリンがデフォルト倀です。


実行
 root@saltsshbox:/srv/saltstack# salt-ssh testserver state.sls timezone [INFO ] Fetching file from saltenv 'base', ** skipped ** latest already in cache 'salt://timezone.sls' testserver: Name: Europe/Moscow - Function: timezone.system - Result: Changed Summary for testserver ------------ Succeeded: 1 (changed=1) Failed: 0 ------------ Total states run: 1 

実生掻の䟋


そしお今、぀いに、私たちは実生掻の䟋に到達したした。 状態時間の同期を考慮しおください-慢性。 ここにありたす


/srv/saltstack/salt/chrony/init.sls


さらに、 init.slsはデフォルトのむンデックスであり、saltは自動的に怜玢したすが、他のファむルを䜿甚できたす。


ここでは、別の兞型的な゜ルトコンストラクトmap.jinjaを玹介したす。


/srv/saltstack/salt/chrony/map.jinja


 {% set chrony = salt['grains.filter_by']({ 'RedHat': { 'pkg': 'chrony', 'conf': '/etc/chrony.conf', 'service': 'chronyd', }, 'Debian': { 'pkg': 'chrony', 'conf': '/etc/chrony/chrony.conf', 'service': 'chrony', }, }, merge=salt['pillar.get']('chrony:lookup')) %} 

その目的は、システムに必芁な静的倉数のセットを䜜成するこずですが、突然倉数を指定する必芁がある堎合は、ピラヌからの倉数ずマヌゞする可胜性がありたす。


次は/srv/saltstack/salt/chrony/init.sls自䜓です


 {% from "chrony/map.jinja" import chrony with context %} chrony: pkg.installed: - name: {{ chrony.pkg }} service: - name: {{ chrony.service }} - enable: True - running - require: - pkg: {{ chrony.pkg }} - file: {{ chrony.conf }} {{ chrony.conf }}: file.managed: - name: {{ chrony.conf }} - source: salt://chrony/files/chrony.conf.jinja - template: jinja - user: root - group: root - mode: 644 - watch_in: - service: {{ chrony.service }} - require: - pkg: {{ chrony.pkg }} 

salt//chrony/files/chrony.conf.jinja jinja圢匏は、ここで特に泚意する必芁がありたす。


/srv/saltstack/salt/chrony/files/chrony.conf.jinja


 # managed by SaltStack {%- set config = salt['pillar.get']('chrony:lookup', {}) -%} {%- set vals = { 'bindcmdaddress': config.get('bindcmdaddress','127.0.0.1'), 'custom': config.get('custom', ''), }%} ### chrony conf server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst stratumweight 0 driftfile /var/lib/chrony/drift rtcsync makestep 10 3 bindcmdaddress {{ vals.bindcmdaddress }} bindcmdaddress ::1 keyfile /etc/chrony.keys commandkey 1 generatecommandkey noclientlog logchange 0.5 logdir /var/log/chrony {% if vals.custom -%} {{ vals.custom }} {%- endif %} 

このテンプレヌトでは、Pillarから倉数をリク゚ストしお凊理したす。 state.show_slsを䜿甚しお、この状態がsaltによっおどのように認識されたかを確認できたす。


salt-ssh testserver state.show_sls chronyを出力したす
 root@saltsshbox:/srv/saltstack# salt-ssh testserver state.show_sls chrony [INFO ] Fetching file from saltenv 'base', ** done ** 'chrony/init.sls' [INFO ] Fetching file from saltenv 'base', ** done ** 'chrony/map.jinja' testserver: ---------- /etc/chrony/chrony.conf: ---------- __env__: base __sls__: chrony file: |_ ---------- name: /etc/chrony/chrony.conf |_ ---------- source: salt://chrony/files/chrony.conf.jinja |_ ---------- template: jinja |_ ---------- user: root |_ ---------- group: root |_ ---------- mode: 644 |_ ---------- watch_in: |_ ---------- service: chrony |_ ---------- require: |_ ---------- pkg: chrony - managed |_ ---------- order: 10002 chrony: ---------- __env__: base __sls__: chrony pkg: |_ ---------- name: chrony - installed |_ ---------- order: 10001 service: |_ ---------- name: chrony |_ ---------- enable: True - running |_ ---------- require: |_ ---------- pkg: chrony |_ ---------- file: /etc/chrony/chrony.conf |_ ---------- order: 10000 |_ ---------- watch: |_ ---------- file: /etc/chrony/chrony.conf 

次に、実行したす。


 root@saltsshbox:/srv/saltstack# salt-ssh testserver state.sls chrony testserver: Name: chrony - Function: pkg.installed - Result: Changed Name: /etc/chrony/chrony.conf - Function: file.managed - Result: Changed Name: chrony - Function: service.running - Result: Changed Summary for testserver ------------ Succeeded: 3 (changed=3) Failed: 0 ------------ Total states run: 3 

ここで、saltは、関連するモゞュヌルの総数によっお実行された3぀の状態に぀いお報告したす。 再床実行するず、倉曎が加えられおいないこずは明らかです。


 root@saltsshbox:/srv/saltstack# salt-ssh testserver state.sls chrony testserver: Summary for testserver ------------ Succeeded: 3 Failed: 0 ------------ Total states run: 3 

chronyの構成ファむルがどのように圢成されたかをすぐに確認できたす。


 salt-ssh testserver cmd.run 'cat /etc/chrony/chrony.conf' 

最埌に、 state.highstateコマンドに蚀及する䟡倀がありたす。


 salt-ssh testserver state.highstate 

圌女はテストサヌバヌにすべおの芏定の状態を適甚したす。


おわりに


それで、SaltStackバンドルのsalt-sshずは䜕か、そしおその䜿甚方法を孊びたした。 salt-sshが機胜するために必芁な環境を構築する重芁な特城を孊びたした。 Vagrantを䜿甚しおテスト環境をセットアップしたす。 そしお、Grains、States、Pillarなど、SaltStackの基本的な抂念を䜿甚しお実隓を䜓系的に実斜したした。 たた、単玔なものから耇雑なものたで状態を蚘述する方法を孊び、実際の䟋に到達するこずで、ベヌスでさらに自動化を構築できたす。


今のずころすべおです。 ただたくさんの興味深いトピックが残っおいたすが、この情報がこの玠晎らしい構成管理システムでの䜜業を開始するのに圹立぀こずを願っおいたす。


有甚な情報


best_practices
りォヌクスルヌ
starting_states
柱
公匏
チュヌトリアル



Source: https://habr.com/ru/post/J303418/


All Articles