|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
RKE テンプレートとインフラストラクチャ
|
Rancher Kubernetes Engine (RKE/RKE1) will reach end of life on July 31, 2025. Rancher 2.12.0 and later will no longer support provisioning or managing downstream RKE1 clusters. We recommend replatforming RKE1 clusters to RKE2 to ensure continued support and security updates. Learn more about the transition here. |
Rancher では、RKE テンプレートを使用して Kubernetes をプロビジョニングし、Rancher の設定を定義します。一方、ノードテンプレートはノードをプロビジョニングするために使用されます。
したがって、RKE テンプレートの強制がオンになっていても、エンドユーザーは Rancher クラスターを作成する際に基盤となるハードウェアを選択する柔軟性を持っています。RKE テンプレートのエンドユーザーは、インフラストラクチャプロバイダーと使用したいノードを選択することができます。
クラスター内のハードウェアを標準化したい場合は、RKE テンプレートをノードテンプレートや Terraform などのサーバープロビジョニングツールと組み合わせて使用してください。
ノードテンプレート
ノードテンプレートは、Rancher におけるノードの構成とノードのプロビジョニングを担当します。ユーザープロファイルから、ノードプール内で使用されるテンプレートを定義するためにノードテンプレートを設定できます。ノードプールが有効になっている場合、各ノードプールに必要な数のノードがあることを確認し、プール内のすべてのノードが同じであることを保証できます。
Terraform
Terraform はサーバープロビジョニングツールです。Infrastructure as Code を使用し、Terraform 設定ファイルを使ってインフラストラクチャのほぼすべての側面を作成できます。サーバープロビジョニングのプロセスを自動化し、自己文書化され、バージョン管理で追跡しやすい方法で行うことができます。
このセクションでは、Kubernetes クラスターのハードウェアを標準化するための推奨オプションである Rancher 2 Terraform プロバイダー を使用して Terraform を使用する方法に焦点を当てています。Rancher Terraform プロバイダーを使用してハードウェアをプロビジョニングし、そのハードウェア上で RKE テンプレートを使用して Kubernetes クラスターをプロビジョニングすると、包括的で運用準備完了のクラスターを迅速に作成できます。
Terraform を使用すると、
-
サーバー、データベース、ロードバランサー、監視、ファイアウォール設定、SSL 証明書など、ほぼすべての種類の Infrastructure as Code を定義できます。
-
Rancher や主要なクラウドプロバイダーを含む多くのプラットフォームでインフラストラクチャをコーディングできます。
-
Infrastructure as Code をバージョン管理にコミットできます。
-
インフラストラクチャの構成とセットアップを簡単に繰り返すことができます。
-
インフラストラクチャの変更を標準的な開発慣行に組み込むことができます。
-
構成のドリフトを防ぎます。これは、一部のサーバーが他のサーバーとは異なる構成になることを指します。
Terraformはどのように機能しますか?
Terraformは、拡張子が`.tf`のファイルで記述されています。これは、宣言型言語であるHashiCorp Configuration Languageで記述されており、クラスター内で必要なインフラストラクチャ、使用しているクラウドプロバイダー、およびプロバイダーの資格情報を定義することができます。その後、TerraformはプロバイダーにAPIコールを行い、そのインフラストラクチャを効率的に作成します。
Terraformを使用してRancherが提供するクラスターを作成するには、Terraform構成ファイルに移動し、プロバイダーをRancher 2として定義します。Rancher APIキーを使用してRancher 2プロバイダーを設定できます。注意:APIキーは、それに関連付けられたユーザーと同じ権限とアクセスレベルを持っています。
その後、TerraformはRancher APIを呼び出してインフラストラクチャをプロビジョニングし、Rancherはインフラストラクチャプロバイダーを呼び出します。例えば、Rancherを使用してAWS上にインフラストラクチャをプロビジョニングしたい場合、Terraform構成ファイルまたは環境変数にRancher APIキーとAWS資格情報の両方を提供する必要があります。
インフラストラクチャに変更を加える必要がある場合、サーバーを手動で更新する代わりに、Terraform構成ファイルで変更を加えることができます。その後、これらのファイルはバージョン管理にコミットされ、必要に応じて検証およびレビューされます。その後、`terraform apply`を実行すると、変更がデプロイされます。
Terraformを使用するためのヒント
-
Rancher 2プロバイダーの ドキュメントで、クラスターのほとんどの側面を提供する方法の例があります。
-
Terraformの設定では、Docker Machineノードドライバーを使用してDocker Machineをインストールできます。
-
Terraformプロバイダーの認証を変更することもできます。
-
Rancherで設定を変更し、その後Terraform状態ファイルを確認して、現在のインフラストラクチャの状態にどのようにマッピングされるかを確認することで、Terraformで設定を定義する方法を逆に設計できます。
CISベンチマーク準拠のクラスターを作成するためのヒント
このセクションでは、クラスター内でセキュリティおよびコンプライアンス関連の設定ファイルを標準化する方法の一例を説明します。
CISベンチマーク準拠のクラスターを作成すると、暗号化設定ファイルと監査ログ設定ファイルがあります。
インフラストラクチャプロビジョニングシステムは、それらのファイルをディスクに書き込むことができます。次に、RKEテンプレートでそれらのファイルの場所を指定し、暗号化設定ファイルと監査ログ設定ファイルを`kube-api-server`に追加のマウントとして追加します。
次に、ご自身のRKEテンプレート内の`kube-api-server`フラグがCIS準拠の設定ファイルを使用していることを確認します。
このようにして、CISベンチマーク準拠のフラグを作成できます。
リソース
-
The RanchCast - エピソード1:Rancher 2 Terraformプロバイダー:このデモでは、コミュニティディレクターのジェイソン・ヴァン・ブラッケルが、Rancher 2 Terraformプロバイダーを使用してノードをプロビジョニングし、カスタムクラスターを作成する方法を説明します。