タグ付けされた質問 「chef」

1
ChefでSSL交換を検証するために内部CA証明書を含めるにはどうすればよいですか?
私たちは社内の認証局を使用して、私の会社でサーバー証明書を作成しています。 また、SSLインターセプト(MITM)を実行する透過プロキシにも対処する必要があります。 ChefがCA証明書を知らないためにSSL検証エラーが定期的に発生し、時にはツール12 質問:有効なSSL交換を取得するために、CA証明書をChefに認識させるにはどうすればよいですか?
15 chef  ssl 

5
構成管理ツールは、展開ツールとして使用するのに適切ですか?
質問に対する私の答えの裏側:DevOpsはどのようにしてソフトウェアエスクローの手順を改善するのに役立つのですか?テンシバイには質問がありました: 人形やシェフの上にカピストラーノを必要とするものは何ですか? 私の回答は、ノアギブスの記事「カピストラーノとシェフの両方が必要ですか?」へのリンクを投稿することでした。。個人的には、次のことを行うのが最も適切であるというノアの見解に同意します。 デプロイメントには、Capistranoなどの専門のデプロイメントツールを使用します。 構成管理には、Chefなどの専門の構成管理ツールを使用します。 各タイプのツールがタスクを完了するために使用する基本的なアプローチは非常に異なります。 構成管理ツール -システムの望ましい状態を作成および維持するためのものであり、本質的にべき等です。構成管理ツールの例には、Chef、Puppet、Ansible、PowerShell DSC、Salt Stackなどがあります。 導入ツール - ホスティング環境にソフトウェアのバージョンを配信することに関するもので、複数のマシンでソフトウェアの複数のバージョンを維持し、どのバージョンが「最新」であるかを管理する機能を提供します。これらは本質的に必須です。デプロイメントツールの例には、Capistrano、Octopus Deploy、Deployer、およびCommand.ioがあります。 構成管理ツールはデプロイメントツールの仕事を実行できると思います。ターゲットのソフトウェアバージョンを維持する必要がないため、不変インフラストラクチャの場合は、これらが仕事に最も適したツールです。 質問: Chef、Ansible、Puppetなどの構成管理ツールは、べき等モデルと命令モデルの両方を実行できる程度に成熟していますか?

2
まだ存在しないものをシェフする方法
次のようなChefコードがあるとします。 require 'mixlib/shellout' yum_package 'somepackage' myvar = Mixlib::ShellOut.new('/bin/somecommand').run_command.stdout.strip どこに/bin/somecommandそれがでインストールされているため、まだ存在していませんsomepackage。これはその理由でレシピのコンパイル時に失敗しますが、パッケージが正常にインストールされれば、収束時に明らかに機能します(それでも失敗しない場合は、レシピが失敗したことは明らかです)。パッケージがインストールされている場合、これらはすべて事前にコンパイルされるため、ランリストの前のレシピとしても失敗します。Chefレシピに、そのレシピまたはランリストがインストールするものを含めるにはどうすればよいですか?

1
Chef Automateとは
スーパーマーケットのレシピのほとんどがChef Delivery(別名Chef Automate)を使用していることに気づきました。彼らのサイトにはそれについての情報はほとんどなく、それは「豚の豚」のように私に見えます:最初に支払うと彼らはあなたが何を支払ったかを知っています。 Chef Automateには、Chef Server以外に追加のサーバーが必要ですか(すでに用意されています)。そうだと思います。 今、料理本を書くことはまったく必要ですか? それは、Foodcritic、ServerSpec、Kitchenを最終的に置き換えるでしょうか?また、ServerSpecと同様の「InSpec」が提供されるようになりました。

1
Chefクックブックの一部を継承してオーバーライドするには、どのような手順を実行できますか?
3200以上のクックブックがChefスーパーマーケットで利用可能になっているため、解決する必要があるニーズをカバーするクックブックがすでにあることがよくあります。 ほとんどの場合、既存のクックブックのテンプレート、変数、またはリソースに変更が必要です。 既存のクックブックをオーバーライドおよび/または改善するためのステップは何ですか?彼らのコードをフォークせずに、将来バージョンの更新を取得する機能を保持しません。
9 chef 

2
Dockerfileの代わりに構成管理ツールを使用しないのはなぜですか?
私はDockerと構成管理ツールにかなり慣れています。 最初はbashスクリプトの作成を開始して、開発マシン用のVagrantボックスをプロビジョニングしましたが、今はそのためにChefを使用するように切り替えました。同じソースを使用して、開発環境と本番環境の両方をプロビジョニングし、同じようにそれらを試して取得できるようになりましたできるだけ。 Chefを使い始めてから、シェルスクリプトの行をプロジェクト間でコピーして貼り付ける必要がないというDRYの側面、1つの統合されたソースを使用してさまざまなLinuxディストリビューションを実行するマシンをプロビジョニングする機能、および便利さを楽しんだコミュニティ提供のクックブックを使用する方法。 Chefを使用してvmをプロビジョニングしているので、RUNコマンドに続いてシェルコマンドをDockerfileに追加してChefレシピを実行するだけで達成できることを達成するとき、後退するような気がします。 私はググって何も見つかりませんでした(しかし、たぶんそれを逃しただけかもしれません)が、Dockerコンテナーを構築するChefレシピを使用する簡単な方法があるようには見えません。何故ですか? コンテナは不変であることを意図しており、構成管理ツールは通常、マシンの寿命全体でマシンを再構成するために使用されますが、コンテナの最初の構築中に使用した場合でも、多くの利点を提供しませんか?

3
新しいパッケージが利用可能になったときに、不変のインフラストラクチャを自動的に再構築するにはどうすればよいですか?
Terraformを使用してインフラストラクチャの展開を自動化し、Packerを使用してTerraformによって展開されるマシンイメージを作成します。不変のインフラストラクチャ設計原則に従って、パッチが適用された新しいイメージを作成してパッチを実装し、インフラストラクチャを再展開します。 この設定で、ベースイメージ内のパッケージまたはOS自体を更新してビルドパイプラインをトリガーする必要があるときを自動的に検出するために使用できる追加のツールはありますか? Chef Automateは私が探しているものに近いようですが、イメージマニフェスト自体を分析するのではなく、実行中のノードのコンプライアンスをスキャンするようです。 ありがとう!

3
マルチノード操作にChefを使用する
複数のノードにまたがるChefを使用して構成したいアプリケーションがあります。それを行うプロセスがから成っているとしましょう 出力をキャプチャするノードAで処理を実行します その出力でノードBで別のことを行います なんらかの操作のためにノードAに戻ります 再びノードBに ... これを行う1つの方法は、各ノードでのステージを格納するレシピを記述し、最終的にすべてのノードですべての操作を実行できるようになるまで、両方のノードで繰り返し実行することです。しかし、これは不格好であり、ノードC、Dなどがある場合はスケーリングされません。単一ノード内のシーケンスの依存関係への通知について知っていますが、複数のノード間では機能しません。これを必要とするのは私だけではないので、このスタイルのアクティビティのメカニズムやデザインパターン/ベストプラクティス/ TTPはありますか?
7 chef 

1
シェフの料理本の整理
すべてのクックブックを保存するのに100%必要chef-repoですか?これは私には少し不便なようです。ソリューションのクックブックをアプリケーションのコードベースに保存するか、スタンドアロンのgitリポジトリとして保存したいと思います。 などのツールknifeがに存在する構成ファイルに依存していることは知っています.chef。

2
chefデータベースクックブックは非推奨
私は頻繁にchefデータベースクックブックを使用していますが、非推奨になっているため、更新を受け取りません。彼らはgithubの問題を無効にしさえしたので、私が遭遇した問題が議論され、可能な解決策が提案されたかどうかをチェックすることは不可能です。非推奨の通知では、このクックブックの機能は個々のデータベースクックブックに移動されることになっていますが、これは少なくともMySQLではまだ実装されていません。このクックブックに代わるものはありますか、それとも何百もの他のものと一緒に別のフォークを作成するのに悩んでいますか?
7 chef 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.