マスターチュートリアルにSaltstackエントリ(VII):要件

構成管理では、調整役に多くのモジュールがあるでしょう、次の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

ここでは示してpkg1つのモジュールはということfileに依存モジュールです

ここで宣言した形式の依存関係module:IDmodule: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追加の例子供に。

概要

依存関係状態ファイル機能は、塩は、より複雑なシナリオに対応できるように、より柔軟な機能の実行を可能にする、それが本番環境の設定項目の不可欠な部分です。

发布了25 篇原创文章 · 获赞 2 · 访问量 1639

おすすめ

転載: blog.csdn.net/Victor2code/article/details/104110740