タグ付けされた質問 「configuration-management」

2
環境構成ごとに保存するためのツール
ツールで環境ごとに構成情報を保存する必要があります。 これは、構成値(接続文字列など)を追加/更新するためのGUIを備えたツールです。これにはデフォルト値があり、異なる環境に基づいてこれを変更できる必要があります。 アプリケーションに追加する特定の環境へのデプロイメント中にこれらの構成値を取得するAPIが必要です。 私はしばらく探しましたが、この法案に合うツールは見つかりませんでした。何か提案はありますか? 注:現在、設定はTeamCity変数にあり、展開はPowerShellスクリプトを介して行われます。

1
アサーションと制約
構成ファイルを作成するためのテンプレートを作成しています。このファイルを使用するサービスは、識別子の長さに制限を設けています。 識別子がたとえば6文字より長い場合、サービスは構成の適用の途中で失敗し、ノードを不整合な状態のままにします。 アサーションを実行してデプロイメントトランザクションの失敗をトリガーし、ターゲットノードのサービスが正しく設定されないようにするにはどうすればよいですか? 私の特定の状況はソルトですが、他のシステムでも問題がどのように解決されるかを知りたいと思います。

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レシピに、そのレシピまたはランリストがインストールするものを含めるにはどうすればよいですか?

2
ロードバランサーF5はCasC(コードとしての構成)をサポートしていますか?
CasCとF5を併用すると、バージョン管理されたオプションの動的ネットワークエンドポイント構成が可能になり、時間を節約してリスクを軽減できます。 このツールはこれをサポートしていますか?単一構成ファイル(SCF、F5用語)はそれを行う手段ですか?

2
べき等性と不変性の比較
DevOpsの多くは、不変のインフラストラクチャを実装し、変更が必要な場合に(変更するのではなく)再展開することで、ペットではなく牛の考え方を適用しています。 構成管理には、べき等の同様の原則があります。不変性と無力の比較の利点、類似点、欠点は何ですか?どちらがより効率的ですか?これらを相乗的に使用できますか(例:構成管理を使用したVMまたはDockerコンテナーの定期的な削除と再デプロイ?)

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

3
マスター/エージェント構成管理を実行する明確な利点は何ですか?
Ansibleは、エージェントがなく、ある程度のオーバーヘッドを節約できるため、シェフや人形のような競争よりも明らかに有利なようです。 さまざまな構成ツールの比較をいくつか読んだところ、各ツールにはそれぞれ長所と短所がありますが、その多くは個人の好みによるものであることがわかりました。 エージェントレスであることの利点は非常に簡単ですが、構成管理ツールに関してマスター/エージェントアーキテクチャの利点はありますか?

1
AnsibleにはPuppetDBに似たコンポーネントがありますか?
私は(限られた)経験からPuppetを知っており、構成管理ではAnsibleへの強い傾向があることに気づきました。 一方では、Ansibleはエージェントを必要としないことを理解していますssh。これは、Ansibleがをインテリジェントに使用するためです。 一方、これらはPuppetについて気に入った機能です。 REST APIを介したシステム全体の構成状態と履歴(PuppetDB)へのアクセス 上書きされたファイルのバックアップを保持する機能(filebuckets) Hiera構成の一部を暗号化する機能(.eyaml) これらの中で、PuppetDBは私にとって最も重要で便利なようです(他のツールとの統合など)。したがって、私の質問は次のとおりです。Ansibleには、PuppetDBに似たものがありますか。たとえば、「ホストxにインストールされているパッケージは何か」と尋ねられるAPIを提供するコンポーネントですか。または「どのホストにパッケージyがインストールされていますか?」 (この質問はStackOverflowから移行されました)。 UPDATE Puppetの重大な欠点それまでの私の経験:エージェントを必要とするという事実はそれほどではありません(私が見たところ、AnsibleのPythonの使用は、Pythonインタープリターの形式で一種のエージェントを導入します;-)。そのエージェントがroot唯一かつ常に行動することを望んでいること。

1
複数の「機能」反応アプリをモノリシックPHPリポジトリに統合する方法は?
mono-laravel-repoがあり、よりクリーンでメンテナンスが容易なdevの再起動に移行中です。 最近、既存のPHPベースのビューを、/reactディレクトリ内に存在し、/react/featureNameサブディレクトリに編成された複数のReactベースの「機能」に移行するようになりました。これは、Laravelのコントローラーがデータと認証のみを処理することを意味します。 各機能は1人以上の開発者によって管理され、独自の依存関係、テスト、機能を備えています。 現在、機能別に整理されたプロジェクトのパブリックルートでビルドを提供しています。 js/FeatureName.hashed.js css/FeatureName.hased.css これは、間で多くのパッケージを共有することを除いて、うまく機能しますfeatures。自己反応、ルーターの反応など 私たちmix.jsはできる限りLaravelを使用するつもりですが、直接ハッキングすることwebpack.configもオプションです。 他のアプリケーションロジックとは別にvendor.jsビルドmix.extract()を定義できるオプションを検討しましたが、そこで停止します。 だからここに私の質問です package.json各機能ディレクトリにある複数のファイルを管理するためのアプローチは何ですか 一般的なパッケージを特定してルート/package.jsonファイルにロックする方法を教えてください。(独立して、すべての開発者はすでにを使用していますyarn) すべての反応ベースの開発者ができる限り少ない摩擦でこれを達成する方法-彼らがすでに行っていることを単純に続行し、DevOpsが粗末なビットを処理できるようにするには? さらに詳しい情報が必要になる可能性があることを理解しています。コメントで必要な情報をお知らせください。質問を更新させていただきます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.