問題タブ [infrastructure-as-code]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
infrastructure-as-code - コードとしてのインフラストラクチャ (IaC) の例は何ですか?
「IaaC」(または IaC)という言葉に何度も出くわしました。私がそれをググったとき、それは私に言った:
コードとしてのインフラストラクチャ (IaC) は、物理的なハードウェア構成や対話型の構成ツールではなく、機械可読な定義ファイルを使用してコンピューター データ センターを管理およびプロビジョニングするプロセスです。
Kubernetes で使用される yaml ファイルは、IaC の例になりますか? たぶん、Dockerfile でさえそのように見なすことができますか? そうでない場合は、IaC の例をいくつか教えてください。
例えば :
azure - terraform と destroy コマンドの共有モジュールを理解すると、破棄時に共有モジュールを除外するにはどうすればよいですか?
現在、Terraform でいくつかの新しい Azure インフラストラクチャのスクリプトを作成しており、ネストされたモジュールを使用して、インフラストラクチャのさまざまなセクションの管理と展開を適切かつ限定的にしています。
global
いくつかの Azure 広告ルックアップと現在のクライアント構成と共に、いくつかの共有リソース (ほとんど Azure リソース グループとアクセス許可のみ) を含むというモジュールを作成しました。これらを中央モジュールに配置することは、コードの再利用を回避し、プロジェクト全体で一貫して処理されるようにするために理にかなっているようです。
ただし、任意のterraform destroy
モジュールから実行すると、グローバル モジュール内のすべてのオブジェクトが破棄されるようにマークされていることに気付きました。ネストされたモジュールを破棄プロセスから除外する方法はありますか?
実際には、リソース (リソース グループとそれらのリソース グループに適用される権限のみ) の作成を別のネストされていないモジュールのグローバル モジュールに配置する必要がありますが、ネストされたグローバル モジュールのデータ モジュールを使用して確認する必要があります。彼らの価値などを上げますか?
グローバルモジュールのサンプルコード:-
そして、ネストされたモジュールの 1 つで、このインスタンスでデータベース リソースを作成するための使用例:-
次に、別のモジュールで、次のコードを使用してキー コンテナーを作成し、グローバル モジュールからの出力の一部を再利用します。
azure - ARM テンプレート デプロイ リソースの名前空間が見つかりません
子 EventHub を持つ EventHub 名前空間をデプロイするカスタム ARM テンプレートがあります。これには、2 つの AuthorizationRules と 1 つの ConsumerGroup が子として含まれます。検証はパスしますが、デプロイ エラーが発生します。必要な "dependsOn" プロパティを追加したにもかかわらず、Azure Resource Manager は、名前空間が存在する前に承認規則を展開しようとすることから始めているようですが、展開は最初から最後まで続き、すべてのリソースが正常に展開されます。ポータルからデプロイするだけなら許容できるかもしれませんが、このテンプレートをプログラムでデプロイすると、デプロイが「成功」し、ロールバック メカニズムがトリガーされてもエラーが発生します。
ポータルから提供されたエラーへのリンクは次のとおりです。
これが私の ARM テンプレートです (コメントは、リソースを見つけやすくするためだけに記載されています)。
ありがとうございました。