構成管理では、調整役に多くのモジュールがあるでしょう、次のSLSを提出。上から下に実行の順序だけでなく、異なるモジュール間の相互依存性のもの、それに加えて。このセクションでは、我々は見てみましょう。
私は、インターネットの専門家は、生涯学習への付着、小さなT字型の人が払いますよ。私のブログのように私はこの問題下さいシェアは下のコメント欄に存在する場合、CSDNに焦点を歓迎ありがとう。
前提条件
異なるモジュール間の依存関係を確立するために設計された塩の必需品。前提条件は、方向依存ことを除いて、二つのタイプ、直接及び要件requisite_insに分かれ。
以下で言及されるrequire
依存性のタイプの例であります
モジュールは、モジュールに依存必需品の直接の文が宣言されている表します
vim:
pkg.installed
/etc/vimrc:
file.managed:
- source: salt://edit/vimrc
- require:
- pkg: vim
そこ二つのモジュールは、それぞれpkg
、とfile
。のでfile
、直接の使用require
は、file
このモジュールが依存しますpkg
モジュール。
逆にRequisite_ins方向、彼らが依存して、他のモジュールで表現されています
vim:
pkg.installed:
- require_in:
- file: /etc/vimrc
/etc/vimrc:
file.managed:
- source: salt://edit/vimrc
ここでは示してpkg
1つのモジュールはということfile
に依存モジュールです
ここで宣言した形式の依存関係module:ID
やmodule:name_value
、この定義にも成功した依存関係を定義されている場合、上記の例で言うことです、
vimrc:
file.managed:
- name: /etc/vimrc
- source: salt://edit/vimrc
和時計を必要と
二種の合計の関係の種類に依存し、上記に加えてrequire
、存在しますwatch
。もちろん、それぞれは、それぞれに対応require_in
し、watch_in
フォーマット。
必要とする
依存関係の最も基本的な必要が、それは比較的簡単です。失敗を行わない場合は、モジュールが成功した実装に依存するモジュールに依存している場合は、モジュールに頼るよりも、実行する必要があります依存するモジュールであることを意味します。
また、全体のSLSファイルに直接依存することができ、ファイル全体がSLS依存モジュールの実装前に、正常に実行されます。フォーマットは、最初は依存SLSファイルを含み、その後、依存関係を定義します
include:
- foo
bar:
pkg.installed:
- require:
- sls: foo
対応が必要なrequire_in
例を挙げていません。
見る
上記の機能のすべてが外を必要と見に加えて、いくつかの追加機能があります。時計キーワードが有するモジュールかどうかを検出することに依存するmod_watch
この機能がある場合、この機能は、機能しない場合、必要ような結果を見て、次に、モジュールが目標手先に依存している場合は、変更されたの生成をトリガしますmod_watch
時計の状態をトリガー機能、その結果、依存実行モジュール。
あなたには、いくつかの機能は、例えば、ターゲットの変化を生成していきます見に行く場合は、他の言葉では、file.managed
、その後、毎回ターゲットシステムの変更は、機能構成時計の実行につながります。
最良の例は、サービスを再起動することです
ntpd:
service.running:
- watch:
- file: /etc/ntp.conf
file.managed:
- name: /etc/ntp.conf
- source: salt://ntp/files/ntp.conf
余談を言って、私は公式文書が、実際には、このモジュールの内部salt.states.file mod_watch機能を見つけられませんでした確認したが、時計はまた、非常に奇妙な効果はまだですが、
見て対応するwatch_in
子なしの追加の例に。
前提条件
前提条件この依存性はかなり特殊であるが、最初にするであろう機能に依存しているtest=True
ターゲット・システムが変更、機能的依存関係のその後の実装を生成する場合、煙テスト方法を実行します。
一部の更新は、サービスの場合に適用を停止する必要があります
graceful-down:
cmd.run:
- name: service apache graceful
- prereq:
- file: site-code
site-code:
file.recurse:
- name: /opt/site_code
- source: salt://site/code
コードファイルに変更がある、この場合には、Apacheサービスが最初に停止し、その後、コードを更新します。
前提条件該当しないprereq_in
追加の例子供に。
概要
依存関係状態ファイル機能は、塩は、より複雑なシナリオに対応できるように、より柔軟な機能の実行を可能にする、それが本番環境の設定項目の不可欠な部分です。