私はシェフと知り合っており、シェフゼロとナイフゼロを使用してセントラルサーバなしでワークフローを構築したいと考えています。しかし、chef-zeroは.jsonファイルのノードについての情報を格納しています。これはかなり大きく、頻繁に変更されてgitリポジトリに格納されます。リポジトリに定義を保存するのではなく、毎日サーバを再スキャンしたい - これは私たちが多くのサーバーを持っていないので、簡単に自動化できるはずです。 sshの資格情報を提供するだけで、既存の統合ノードをシェフゼロに追加するコマンドはありますか?私はknife zero bootstrap <node-ip>
がトリックをすることを知っていますが、余分な収束を引き起こします。私は起こりたくありません。ナイフゼロ既存のノード発見
0
A
答えて
0
全体の質問が間違った仮定に基づいていました:
- 私はシェフのノードが解消されないと、それ自身の状態を管理すると思いました。そうではない。シェフの実行終了時にノードの状態がシリアル化され、サーバーに渡されるため、シェフの実行なしに試していたノードを再検出することはできません。サーバ属性が必要な場合は、ノードを空の実行リストに収束させることができます。実行リストはノード自体に永続化されないので、これは安全な操作でなければなりません。
- 私は、chef-zeroが何らかの形でjsonファイルを使う以外の方法でノードの状態を管理しているとも思っていました。これは、私がjsonで直接ノードの役割を指定しようとした結果、
run_list
から常に再構築されているので、私の役割は当てはまりません。それは「発見」を私が必要ではないと言っているようにしています。
次のような構造は、ノードを見てシェフゼロに十分なものであり、正常に収束:
{
"name": "sonarqube.srv.company.my",
"automatic": {
// automatic attributes are managed by ohai, so be ready that next
// chef run may use another fqdn if you haven't pinned it with
// any means possible
"fqdn": "99-199-255-99.srv.company.my"
},
"run_list": [
"role[role-1]"
"recipe[cookbook::recipe]"
]
}
Gitの中でそのような定義を格納した場合、あなたは常に手元にインフラストラクチャを持って行うことができますknife converge name:sonarqube.srv.company.my
いつでも、それは私のすべての必要に勝つ。私のパーソナルワークフローには、上記のようなノード仕様のmanaged-nodes
というディレクトリがあり、bin/reset
のbashスクリプトにnodes
ディレクトリを上書きします。私はそれらが適切な実行リストと属性で保存されている限り、すべてが魅力のように機能します。ただし、同様のワークフローを選択した場合は、ノードでのシェフの実行が成功していなくても、完全な属性リストを作成する必要はありません。
永続的なサーバーを持たない純粋にgitベースのシェフワークフローの必要性は、私が開示したくないいくつかの内部的な理由によって決まります。 よろしくお願いします。
すべての努力のために@天照台に行ってください。
0
あなたは基本的に自分の(悪い)シェフサーバーを作ることを説明しています。集中管理をしたいのであれば、Chef Serverを使用して時間を節約してください:)
関連する問題
- 1. カサンドラクラスターレプリケーション - 既存ノードと既存データ
- 2. cassandraノードの発見
- 3. プログラムがクラッシュした既存のノード
- 4. JSON既存のJObjectにノードを追加
- 5. d3フォースレイアウトの既存ノードを更新
- 6. Neo4j:既存のノードを置換する
- 7. 新しいノードまたは既存のノードとの関係?
- 8. 既存のノードのXDocument属性が存在しません
- 9. 使用既存のデータベース - Androidの開発
- 10. Zeroconf/Bonjourノードを発見しますか?
- 11. 新しいneo4jノードとJavaの既存ノードとの関係を作成する
- 12. 新しいノードを既存のノードのセットに追加する(Perl XML :: LibXML)
- 13. 既存の子ノードに新しい子ノードを追加する方法
- 14. XMLを使用してノードを挿入する方法UNDERNEATH既存のノード
- 15. 既存のDOMノードからの反応状態の操作
- 16. 領事の既存のノードにサービスを登録する
- 17. MEAN jsの既存のダッシュボードにノード赤を組み込む
- 18. MxGraphの既存ノードの形状を変更する
- 19. d3.jsの既存のノードを削除する方法
- 20. 既存のノードに関係を追加するNeo4jのcypherクエリ
- 21. d3 js再描画グラフ既存ノードの再追加
- 22. 既存ノードのインデックスを作成する - Neo4J
- 23. 既存のアプリケーションでノードJSを使用する利点
- 24. JavaScript - DOMノードを既存のGoogleマップに戻す方法
- 25. Cで既存のYAMLノードを変更するには?
- 26. Xpath:存在する場合、ノードの隣にノードを見つける
- 27. キー値のペアの既存の値を見つける
- 28. 既存のスクリプトインジェクションポイント
- 29. 既存のC++
- 30. 既存のデータベース
'--no-converge'オプションを発見した人のために:悲しいことに、これはノード定義を保存しません – Etki
収束回避シェフの偶像崇拝哲学(複数回実行、必要な場合にのみ行動する)に対して。だから、あなたが望むものを達成するための方法はありません。希望の状態について考えているあなたの要件/料理の見直し。あなたはシェフを何度も気にしません。(他のSCMと同じように) – Tensibai
@Tensibai偶像崇拝は本当にキーシェフの面では、必ずノードの状態を取得して登録する必要はありません。 – Etki