「VCNネイティブ・ポッド・ネットワーキング」リソースの作成
「VCNネイティブ・ポッド・ネットワーキング」を使用すると、ポッドIPアドレスは、「フランネル・オーバーレイ」などのネットワーク・オーバーレイからではなくVCN CIDRブロックから直接取得されるため、ポッドからトラフィックを直接管理できます。 「VCNネイティブ・ポッド・ネットワーキング」を使用すると、トラフィックの柔軟性と制御性が向上し、様々なセキュリティ・ルールを使用できます。
「VCNネイティブ・ポッド・ネットワーキング」は、Kubernetesクラスタ内のノードをOKE VCN内のポッド・サブネットに接続します。 OKE VCN内のポッドIPアドレスは、OKE VCNおよびオンプレミス・ネットワークに接続(ピアリング)されている他のVCNから直接ルーティングできます。
「VCNネイティブ・ポッド・ネットワーキング」を使用するクラスタを作成する場合、指定するVCNにはpodという名前のサブネットが必要です。 システムがそのサブネットを検出できるように、podという名前のサブネットを指定する必要があります。 ポッド・サブネットには、コントロール・プレーン・ノード上のポッドがワーカー・ノード上のポッドおよび他のポッドおよび他のリソースと直接通信できるようにするセキュリティ・ルールがあります。 「VCNネイティブ・ポッド・ネットワーキング・ポッド・サブネットの作成」を参照してください。 「VCNネイティブ・ポッド・ネットワーキング」を選択し、"pod"という名前のサブネットがない場合、クラスタの作成は失敗します。
「VCNネイティブ・ポッド・ネットワーキング」を使用するクラスタのノード・プールを作成する場合、指定したポッド・サブネット(「ポッド通信」>「ポッド通信サブネット」または--pod-subnet-ids
)は、ワーカー・ノードのポッドのポッド・サブネットの機能を提供します。 そのポッド・サブネットには、ワーカー・ノード上のポッドがワーカー・ノードおよびコントロール・プレーン・ノード上の他のポッドと直接通信できるようにするセキュリティ・ルールが必要です。 オプションで、ワーカー・ノード・サブネットをポッド・サブネットとして指定できます。 指定するポッド・サブネットのCIDRは、 /25より大きい必要があります。 ポッド・サブネットは、ワーカー・ノード・サブネットより大きい必要があります。
一般に、「VCNネイティブ・ポッド・ネットワーキング」を使用すると、セキュリティ・ルールによって、ポッドが、同じノードまたはクラスタ内の他のノード、他のクラスタ、他のサービス、およびインターネット上の他のポッドと直接通信できるようになります。
ノード・シェイプとポッド数
「OCI VCNネイティブ・ポッド・ネットワーキングCNIプラグイン」を使用する場合、各ポッドにはプライベートIPアドレスが必要です。 デフォルトでは、ワーカー・ノードで実行されているポッドで使用するために、31のIPアドレスがVNICに割り当てられます。
ワーカー・ノードで実行するポッドの最大数を指定できます。 デフォルトの最大値は、ワーカー・ノード当たり31ポッドです。 アーカイブ・ログの保存先を110
ノード・シェイプ(つまりワーカー・ノード)には、少なくとも2つのVNICがあります。 最初のVNICはワーカー・サブネットに接続されます。 2番目のVNICはポッド・サブネットに接続されています。 したがって、ワーカー・ノードは少なくとも31のポッドをサポートできます。 1つのワーカー・ノード上に31を超えるポッドが必要な場合は、3つ以上のVNICをサポートするノード・プールのシェイプを指定: ワーカー・ノード・サブネットに接続する1つのVNICと、ポッド・サブネットに接続する少なくとも2つのVNIC。
VM.PCAStandard1.4標準ノード・シェイプは最大4つのVNICを持つことができ、ワーカー・ノードは最大93のポッドをサポートできます。 5つのOCPUを持つVM.PCAStandard.E5.Flexノード・シェイプは、最大5つのVNICを持つことができ、ワーカー・ノードは最大110のポッドをサポートできます。 1つのノードに110個を超えるポッドを含めることはできません(「OKEサービスの制限」を参照)。
次の式では、ノードごとにサポートされるポッドの最大数を要約します:
MIN( (Number of VNICs - 1) * 31 ), 110)
すべてのノード・シェイプの詳細は、「Oracle Private Cloud Appliance概要ガイド」の「コンピュート・インスタンスの概念」の章のコンピュート・シェイプに関する項を参照してください。
「VCNネイティブ・ポッド・ネットワーキング」リソース
このトピックの次の項のリソース定義では、「VCNネイティブ・ポッド・ネットワーキング」の使用時にワークロード・クラスタのネットワーク・リソースの実例セットを作成します。 これらのリソースを作成するときは、この構成をガイドとして使用してください。 CIDRブロックやIPアドレスなどのプロパティの値を変更できます。 ネットワーク・プロトコル、ステートフル設定、プライベート/パブリック設定などのプロパティの値を変更しないでください。
特定の目的のために開く必要がある特定のポートについては、「VCNネイティブ・ポッド・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」を参照してください。
次のネットワーク・リソースを作成します。 Terraformを使用するには、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
ノート:
これらのすべてのネットワーク・リソースをアプライアンスの同じコンパートメントに作成します。
-
VCN。 「VCNネイティブ・ポッド・ネットワーキングVCNの作成」を参照してください。
-
インターネット・ゲートウェイ
-
NATゲートウェイ
-
動的ルーティング・ゲートウェイ
-
ローカル・ピアリング・ゲートウェイ
-
ルート・ルール
-
セキュリティ・リスト
-
次の5つのサブネット:
-
ポッド。 「VCNネイティブ・ポッド・ネットワーキング・ポッド・サブネットの作成」を参照してください。
-
ワーカー。 「VCNネイティブ・ポッド・ネットワーキング・ワーカー・サブネットの作成」を参照してください。
-
ワーカー・ロード・バランサ。 「VCNネイティブ・ポッド・ネットワーキング・ワーカーのロード・バランサ・サブネットの作成」を参照してください。
-
コントロール・プレーン。 「VCNネイティブ・ポッド・ネットワーキング・コントロール・プレーン・サブネットの作成」を参照してください。
-
コントロール・プレーン・ロード・バランサ。 「VCNネイティブ・ポッド・ネットワーキング・コントロール・プレーン・ロード・バランサ・サブネットの作成」を参照してください。
-
「VCNネイティブ・ポッド・ネットワーキング」のワークロード・クラスタ・ネットワークCIDR範囲
このドキュメント全体を通して、変数は、異なるサブネット内のインスタンスのCIDR範囲を表すために使用されます。 次の表に、「VCNネイティブ・ポッド・ネットワーキング」で使用するCIDR変数および値の例を示します。
ノート:
これらは単なる例です。 使用するCIDRの範囲は、クラスタの数、各クラスタ内のノードの数、ワーカー・ノードに対して選択したシェイプおよび使用するネットワーキングのタイプによって異なります。
「VCNネイティブ・ポッド・ネットワーキング」の場合、すべてのポッドは、ポッド・サブネットCIDRで定義されているIPアドレス・プールから割り当てられたIPアドレスを取得します。 「ノード・シェイプとポッド数」で説明されているように、ノード・プールに指定するシェイプによって、各ワーカー・ノードの最大VNIC数(ポッド)が決まります。
「VCNネイティブ・ポッド・ネットワーキング」ネットワークと「フランネル・オーバーレイ」ネットワークのIPアドレス要件の主な違いは、「VCNネイティブ・ポッド・ネットワーキング」ではより多くのIPアドレスを使用できる必要があることです。 「フランネル・オーバーレイ・ネットワーキングのワークロード・クラスタ・ネットワークCIDR範囲」の表は、「VCNネイティブ・ポッド・ネットワーキング」 CIDR範囲の次の表より小さいCIDR範囲を示しています。
ノート:
ポッド・サブネットCIDRは、 /25より大きい必要があります。 ポッド・サブネットは、ワーカー・ノード・サブネットより大きい必要があります。
表4-11 例CIDR「VCNネイティブ・ポッド・ネットワーキング」で使用する値
変数名 | 説明 | 値の例 |
---|---|---|
|
VCN CIDR範囲 これは、OKEインフラストラクチャを作成するためのIPが8192の小規模なVCNです。 |
172.31.0.0/19 |
|
ワーカー・サブネットCIDR |
172.31.8.0/21 |
|
ワーカー・ロード・バランサ・サブネットCIDR |
172.31.0.0/23 |
|
OKE コントロール・プレーン・サブネットCIDR |
172.31.4.0/22 |
|
OKE コントロール・プレーン・ロード・バランサ・サブネットCIDR |
172.31.2.0/23 |
|
ポッド・サブネットCIDR |
172.31.16.0/20 |
|
Kubernetes APIサーバーへの接続を許可されているクライアントのCIDR |
10.0.0.0/8 |
「Calculator.netのIPサブネット計算機」は、特定のIPアドレスおよびプレフィクスの長さで使用可能なすべてのネットワークを検索するための1つのツールです。
「VCNネイティブ・ポッド・ネットワーキング」のワークロード・クラスタ・ネットワーク・ポート
次の表に、「VCNネイティブ・ポッド・ネットワーキング」の使用時にワークロード・クラスタで使用されるポートを示します。 これらのポートは、ワークロード・クラスタ・ネットワーキングを構成するために使用できる必要があります。 他の目的で追加のポートを開く必要がある場合があります。
すべてのプロトコルはTCPです。 すべてのポート状態はステートフルです。 ポート6443は、Kubernetes APIに使用されるポートで、このガイドではkubernetes_api_port
とも呼ばれます。
「Oracle Private Cloud Applianceセキュリティ・ガイド」の「ポート・マトリックス」の表も参照してください。
別の管理ネットワークを使用している場合は、「管理ネットワークを使用したOKEクラスタ管理」を参照してください。
表4-12 「VCNネイティブ・ポッド・ネットワーキング」のワークロード・クラスタで使用可能にする必要があるポート
ソースIPアドレス | 宛先IPアドレス | ポート | 説明 |
---|---|---|---|
バスチョン・ホスト: |
ワーカー・ノード・サブネット: |
22 |
バスチョン・ホストからワーカーCIDRへのアウトバウンド接続。 |
バスチョン・ホスト: |
コントロール・プレーン・サブネット: |
22 |
バスチョン・ホストからコントロール・プレーン・ノードへのアウトバウンド接続。 |
ワーカー・ノード・サブネット: |
yumリポジトリ |
80 |
ワーカーCIDRから外部アプリケーションへのアウトバウンド接続。 |
ワーカー・ノード・サブネット: |
コントロール・プレーン・サブネット: |
6443 |
ワーカーCIDRからKubernetes APIへのアウトバウンド接続。 これは、いずれかのノードのパブリックIPアドレスまたはロード・バランサのパブリックIPアドレスのいずれかを介してノードを結合できるようにするために必要です。 |
ワーカー・ノード・サブネット: |
コントロール・プレーン・ロード・バランサ |
6443 |
ワーカーCIDRからKubernetes APIへのインバウンド接続。 |
クライアントのCIDR: |
コントロール・プレーン・ロード・バランサ |
6443 |
クライアントからKubernetes APIサーバーへのインバウンド接続。 |
ワーカー・ノード・サブネット: |
コントロール・プレーン・サブネット: |
6443 |
コントロール・プレーン・サブネット上のワーカーCIDRから |
|
ワーカー・ノード・サブネット: |
30000-32767 |
Kubernetesクライアントからのアプリケーションのインバウンド・トラフィック。 |
|
|
10250 |
Kubernetes APIエンドポイントからワーカー・ノードへの通信。 |
|
|
10256 |
ロード・バランサまたはネットワーク・ロード・バランサがワーカー・ノードまたはポッド・サブネットの |
|
|
12250 |
ポッドからKubernetes APIエンドポイントへの通信。 |
|
|
2379-2381 |
|
|
|
10257-10260 |
Kubernetesコンポーネントのインバウンド接続。 |
例: 「VCNネイティブ・ポッド・ネットワーキング」リソースのTerraformスクリプト
次のTerraformスクリプトは、「VCNネイティブ・ポッド・ネットワーキング」の使用時にOKEが必要とするネットワーク・リソースを作成します。 この章の他の項では、これらの同じネットワーク・リソースを定義する他の方法について説明します。
これらのスクリプトに示されているほとんどの値(リソース表示名やCIDRなど)が例です。 一部のポートは、次のように指定する必要があります(「VCNネイティブ・ポッド・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」を参照)、OKEポッド・サブネットの名前はpod
、OKEコントロール・プレーン・サブネットの名前はcontrol-plane
である必要があります。 CIDR値の詳細は、「VCNネイティブ・ポッド・ネットワーキングのワークロード・クラスタ・ネットワークCIDR範囲」を参照してください。
variables.tf
このファイルでは、「VCNネイティブ・ポッド・ネットワーキング」の使用時にOKEネットワーク・リソースの構成に使用される複数の変数が作成されます。 これらの変数の多くは、このファイルに値を割り当てられていません。 1つのポートと5つのCIDRに値が割り当てられます。 kubernetes_api_port
、ポート6443は、Kubernetes APIへのアクセスに使用されるポートです。 「VCNネイティブ・ポッド・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」も参照してください。 このファイルに定義されている6つのCIDRは、OKE VCN、ポッド・サブネット、ワーカー・サブネット、ワーカー・ロード・バランサ・サブネット、コントロール・プレーン・サブネットおよびコントロール・プレーン・ロード・バランサ・サブネット用です。
variable "oci_config_file_profile" { type = string default = "DEFAULT" } variable "tenancy_ocid" { description = "tenancy OCID" type = string nullable = false } variable "compartment_id" { description = "compartment OCID" type = string nullable = false } variable "vcn_name" { description = "VCN name" nullable = false } variable "kube_client_cidr" { description = "CIDR of Kubernetes API clients" type = string nullable = false } variable "kubernetes_api_port" { description = "port used for kubernetes API" type = string default = "6443" } variable "worker_lb_ingress_rules" { description = "traffic allowed to worker load balancer" type = list(object({ source = string port_min = string port_max = string })) nullable = false } variable "worker_ingress_rules" { description = "Traffic allowed directly to workers." type = list(object({ source = string port_min = string port_max = string })) nullable = true } # # IP network addressing # variable "vcn_cidr" { default = "172.31.0.0/19" } # Subnet for KMIs where kube-apiserver and other control # plane applications run, maximum 9 nodes. variable "kmi_cidr" { description = "Kubernetes control plane subnet CIDR" default = "172.31.4.0/22" } # Subnet for KMI load balancer. variable "kmilb_cidr" { description = "Kubernetes control plane LB subnet CIDR" default = "172.31.2.0/23" } # Subnet for worker nodes, maximum 128 nodes. variable "worker_cidr" { description = "K8s worker subnet CIDR" default = "172.31.8.0/21" } # Subnet for worker load balancer (for use by CCM). variable "workerlb_cidr" { description = "K8s worker LB subnet CIDR" default = "172.31.0.0/23" } # Subnet for pod communication variable "pod_cidr" { description = "K8s pod communication subnet CIDR" default = "172.31.16.0/20" } # Flag to Enable private endpoint variable "enable_private_endpoint" { description = "Flag to create private control plane endpoint/service-lb" type = bool default = false nullable = false }
terraform.tfvars
このファイルは、variables.tf
で作成された一部の変数に値を割り当てます。 また、ワーカー・ノードおよびワーカー・ロード・バランサにアクセスするためのセキュリティ・リスト・ルールも定義します。
# Name of the profile to use from $HOME/.oci/config oci_config_file_profile = "DEFAULT" # Tenancy ocid from the above profile. tenancy_ocid = "ocid1.tenancy.unique_ID" # Compartment in which to build the OKE cluster. compartment_id = "ocid1.compartment.unique_ID" # Display-name for the OKE VCN. vcn_name = "oketest" # CIDR of clients that are allowed to contact the Kubernetes apiserver. kube_client_cidr = "10.0.0.0/8" # Security list rules for who is allowed to contact the worker load balancer # (adjust for your applications). worker_lb_ingress_rules = [ { source = "10.0.0.0/8" port_min = 80 port_max = 80 }, { source = "10.0.0.0/8" port_min = 443 port_max = 443 }, ] # Security list rules for who is allowed to contact worker nodes directly. # This example allows 10/8 to contact the default nodeport range. worker_ingress_rules = [ { source = "10.0.0.0/8" port_min = 30000 port_max = 32767 }, ]
provider.tf
このファイルは、OCIプロバイダを使用するために必要です。 このファイルは、OCIプロファイル構成ファイルを使用してOCIモジュールを初期化します。
provider "oci" { config_file_profile = var.oci_config_file_profile tenancy_ocid = var.tenancy_ocid }
main.tf
このファイルは、使用するプロバイダ(oracle/oci
)を指定し、複数のセキュリティ・リスト・ルールを定義し、必要なローカル変数を初期化します。
使用するOCIプロバイダのバージョンは、v4.50.0以上で、v6.36.0以下である必要があります。
terraform { required_providers { oci = { source = "oracle/oci" version = ">= 4.50.0, <= 6.36.0" # If necessary, you can pin a specific version here # version = "6.36.0" } } required_version = ">= 1.1" } locals { kube_internal_cidr = "253.255.0.0/16" worker_lb_ingress_rules = var.worker_lb_ingress_rules worker_ingress_rules = flatten([var.worker_ingress_rules, [ { source = var.kmi_cidr port_min = 22 port_max = 22 }, { source = var.worker_cidr port_min = 22 port_max = 22 }, { source = var.worker_cidr port_min = 10250 port_max = 10250 }, { source = var.worker_cidr port_min = 10256 port_max = 10256 }, { source = var.worker_cidr port_min = 30000 port_max = 32767 }, { source = var.workerlb_cidr port_min = 10256 port_max = 10256 }, { source = var.workerlb_cidr port_min = 30000 port_max = 32767 }, { source = var.kmi_cidr port_min = 10250 port_max = 10250 }, { source = var.kmi_cidr port_min = 10256 port_max = 10256 }, { source = var.pod_cidr port_min = 30000 port_max = 32767 }, ]]) kmi_lb_ingress_rules = [ { source = local.kube_internal_cidr port_min = var.kubernetes_api_port port_max = var.kubernetes_api_port }, { source = var.kube_client_cidr port_min = var.kubernetes_api_port port_max = var.kubernetes_api_port }, { source = var.kmi_cidr port_min = var.kubernetes_api_port port_max = var.kubernetes_api_port }, { source = var.worker_cidr port_min = var.kubernetes_api_port port_max = var.kubernetes_api_port }, { source = var.worker_cidr port_min = 12250 port_max = 12250 }, { source = var.pod_cidr port_min = 12250 port_max = 12250 }, ] kmi_ingress_rules = [ { source = var.kube_client_cidr port_min = var.kubernetes_api_port port_max = var.kubernetes_api_port }, { source = var.kmilb_cidr port_min = var.kubernetes_api_port port_max = var.kubernetes_api_port }, { source = var.kmilb_cidr port_min = 12250 port_max = 12250 }, { source = var.worker_cidr port_min = var.kubernetes_api_port port_max = var.kubernetes_api_port }, { source = var.worker_cidr port_min = 12250 port_max = 12250 }, { source = var.kmi_cidr port_min = var.kubernetes_api_port port_max = var.kubernetes_api_port }, { source = var.kmi_cidr port_min = 2379 port_max = 2381 }, { source = var.kmi_cidr port_min = 8044 port_max = 8045 }, { source = var.kmi_cidr port_min = 10250 port_max = 10250 }, { source = var.kmi_cidr port_min = 10257 port_max = 10260 }, { source = var.pod_cidr port_min = var.kubernetes_api_port port_max = var.kubernetes_api_port }, { source = var.pod_cidr port_min = 12250 port_max = 12250 }, ] pod_ingress_rules = [ { source = var.vcn_cidr port_min = 22 port_max = 22 }, { source = var.workerlb_cidr port_min = 10256 port_max = 10256 }, { source = var.worker_cidr port_min = 10250 port_max = 10250 }, { source = var.worker_cidr port_min = 10256 port_max = 10256 }, { source = var.worker_cidr port_min = 80 port_max = 80 }, ] }
oke_vcn.tf
このファイルは、VCN、NATゲートウェイ、インターネット・ゲートウェイ、プライベート・ルート表およびパブリック・ルート表を定義します。 プライベート・ルート表は、VCNのデフォルト・ルート表です。
resource "oci_core_vcn" "oke_vcn" { cidr_block = var.vcn_cidr dns_label = var.vcn_name compartment_id = var.compartment_id display_name = "${var.vcn_name}-vcn" } resource "oci_core_nat_gateway" "vcn_ngs" { compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id display_name = "VCN nat g6s" } resource "oci_core_internet_gateway" "vcn_igs" { compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id display_name = "VCN i6t g6s" enabled = true } resource "oci_core_default_route_table" "default_private" { manage_default_resource_id = oci_core_vcn.oke_vcn.default_route_table_id display_name = "Default - private" } resource "oci_core_default_route_table" "private" { manage_default_resource_id = oci_core_vcn.oke_vcn.default_route_table_id display_name = "Default - private" route_rules { destination = "0.0.0.0/0" destination_type = "CIDR_BLOCK" network_entity_id = oci_core_nat_gateway.vcn_ngs.id } } resource "oci_core_route_table" "public" { compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id display_name = "public" route_rules { destination = "0.0.0.0/0" destination_type = "CIDR_BLOCK" network_entity_id = oci_core_internet_gateway.vcn_igs.id } }
oke_pod_seclist.tf
このファイルは、ポッド・サブネットのセキュリティ・リストを定義します。 このセキュリティ・リストのルールは、このセット内の他のTerraformファイルで定義されています。
resource "oci_core_security_list" "pod" { compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id display_name = "${var.vcn_name}-pod" dynamic "ingress_security_rules" { iterator = port for_each = local.pod_ingress_rules content { source = port.value.source source_type = "CIDR_BLOCK" protocol = "6" tcp_options { min = port.value.port_min max = port.value.port_max } } } dynamic "ingress_security_rules" { iterator = icmp_type for_each = [0, 8] content { # ping from VCN; unreachable/TTL from anywhere source = var.kmi_cidr source_type = "CIDR_BLOCK" protocol = "1" icmp_options { type = icmp_type.value } } } dynamic "ingress_security_rules" { for_each = var.pod_cidr != null ? [var.pod_cidr] : [] content { source = ingress_security_rules.value source_type = "CIDR_BLOCK" protocol = "all" } } }
oke_pod_subnet.tf
このファイルはポッド・サブネットを定義します。
重要:
pod
サブネットの名前は、正確にpod
である必要があります。
resource "oci_core_subnet" "pod" { cidr_block = var.pod_cidr compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id display_name = "pod" dns_label = "pod" prohibit_public_ip_on_vnic = true security_list_ids = [ oci_core_default_security_list.oke_vcn.id, oci_core_security_list.pod.id ] }
oke_worker_seclist.tf
このファイルは、ワーカー・サブネットとワーカー・ロード・バランサ・サブネットの両方のセキュリティ・リストを定義します。 これらのセキュリティ・リストのルールは、このセットの他のTerraformファイルで定義されています。
resource "oci_core_security_list" "workerlb" { display_name = "${var.vcn_name}-workerlb" compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id dynamic "ingress_security_rules" { iterator = port for_each = local.worker_lb_ingress_rules content { source = port.value.source source_type = "CIDR_BLOCK" protocol = "6" tcp_options { min = port.value.port_min max = port.value.port_max } } } } resource "oci_core_security_list" "worker" { display_name = "${var.vcn_name}-worker" compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id dynamic "ingress_security_rules" { iterator = port for_each = local.worker_ingress_rules content { source = port.value.source source_type = "CIDR_BLOCK" protocol = "6" tcp_options { min = port.value.port_min max = port.value.port_max } } } dynamic "ingress_security_rules" { iterator = icmp_type for_each = [0, 8] content { # ping from VCN; unreachable/TTL from anywhere source = var.kmi_cidr source_type = "CIDR_BLOCK" protocol = "1" icmp_options { type = icmp_type.value } } } }
oke_worker_subnet.tf
このファイルは、ワーカー・ロード・バランサおよびワーカー・ロード・バランサ・サブネットを定義します。 ワーカー・ロード・バランサ・サブネットの名前はservice-lb
です。
resource "oci_core_subnet" "worker" { cidr_block = var.worker_cidr compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id display_name = "worker" dns_label = "worker" prohibit_public_ip_on_vnic = true security_list_ids = [ oci_core_default_security_list.oke_vcn.id, oci_core_security_list.worker.id ] } resource "oci_core_subnet" "worker_lb" { cidr_block = var.workerlb_cidr compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id display_name = "service-lb" dns_label = "servicelb" prohibit_public_ip_on_vnic = var.enable_private_endpoint route_table_id = var.enable_private_endpoint==false ? oci_core_route_table.public[0].id : oci_core_vcn.oke_vcn.default_route_table_id security_list_ids = [ oci_core_default_security_list.oke_vcn.id, oci_core_security_list.workerlb.id ] }
oke_kmi_seclist.tf
このファイルは、コントロール・プレーンおよびコントロール・プレーン・ロード・バランサ・サブネットのセキュリティ・リストを定義します。 このファイルは、VCNのデフォルト・セキュリティ・リストに加える更新も定義します。
resource "oci_core_default_security_list" "oke_vcn" { manage_default_resource_id = oci_core_vcn.oke_vcn.default_security_list_id egress_security_rules { destination = "0.0.0.0/0" destination_type = "CIDR_BLOCK" protocol = "all" } dynamic "ingress_security_rules" { iterator = icmp_type for_each = [3, 8, 11] content { # ping from VCN; unreachable/TTL from anywhere source = (icmp_type.value == "8" ? var.vcn_cidr : "0.0.0.0/0") source_type = "CIDR_BLOCK" protocol = "1" icmp_options { type = icmp_type.value } } } } resource "oci_core_security_list" "kmilb" { compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id display_name = "${var.vcn_name}-kmilb" dynamic "ingress_security_rules" { iterator = port for_each = local.kmi_lb_ingress_rules content { source = port.value.source source_type = "CIDR_BLOCK" protocol = "6" tcp_options { min = port.value.port_min max = port.value.port_max } } } dynamic "ingress_security_rules" { for_each = var.enable_private_endpoint ? [1] : [] content { source = var.kmilb_cidr source_type = "CIDR_BLOCK" protocol = "6" tcp_options { min = var.kubernetes_api_port max = var.kubernetes_api_port } } } } resource "oci_core_security_list" "kmi" { compartment_id = var.compartment_id vcn_id = oci_core_vcn.oke_vcn.id display_name = "${var.vcn_name}-kmi" dynamic "ingress_security_rules" { iterator = port for_each = local.kmi_ingress_rules content { source = port.value.source source_type = "CIDR_BLOCK" protocol = "6" tcp_options { min = port.value.port_min max = port.value.port_max } } } }
oke_kmi_subnet.tf
このファイルは、コントロール・プレーンおよびコントロール・プレーン・ロード・バランサ・サブネットを定義します。
重要:
kmi
サブネットの名前は、正確にcontrol-plane
である必要があります。
resource "oci_core_subnet" "kmi" { cidr_block = var.kmi_cidr compartment_id = var.compartment_id display_name = "control-plane" dns_label = "kmi" vcn_id = oci_core_vcn.oke_vcn.id prohibit_public_ip_on_vnic = true security_list_ids = [ oci_core_default_security_list.oke_vcn.id, oci_core_security_list.kmi.id ] } resource "oci_core_subnet" "kmi_lb" { cidr_block = var.kmilb_cidr compartment_id = var.compartment_id dns_label = "kmilb" vcn_id = oci_core_vcn.oke_vcn.id display_name = "control-plane-endpoint" prohibit_public_ip_on_vnic = var.enable_private_endpoint route_table_id = var.enable_private_endpoint==false ? oci_core_route_table.public[0].id : oci_core_default_route_table.default_private[0].id security_list_ids = [ oci_core_default_security_list.oke_vcn.id, oci_core_security_list.kmilb.id ] }
「VCNネイティブ・ポッド・ネットワーキング」 VCNの作成
リストされた順序で次のリソースを作成します:
-
VCN
-
ルート・ルール
-
パブリック・クラスタ:
-
インターネット・ゲートウェイおよびそのインターネット・ゲートウェイを参照するルート・ルールを含むルート表。
-
NATゲートウェイおよびそのNATゲートウェイを参照するルート・ルールを含むルート表。
-
-
プライベート・クラスタ:
-
ルート・ルールのないルート表。
-
(オプション)Dynamic Routing Gateway (DRG)は、OKE VCNをそのDRGにアタッチし、そのDRGを参照するルート・ルールを使用してルート表を作成します。 「プライベート・クラスタ」を参照してください。
-
(オプション)ローカル・ピアリング・ゲートウェイ(LPG)およびそのLPGを参照するルート・ルールを含むルート表。 「プライベート・クラスタ」を参照してください。
-
-
-
セキュリティ・リスト VCNデフォルト・セキュリティ・リストの変更
リソース名およびCIDRブロックは値の例です。
VCN
VCNを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「VCNの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
この例では、次の入力を使用してVCNを作成します。 VCNは1つの連続したCIDRブロックをカバーします。 CIDRブロックは、VCNの作成後に変更できません。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
新しいVCNのOCIDを書き留めます。 このガイドの例では、このVCN OCIDはocid1.vcn.oke_vcn_id
です。
次のステップ
-
公共のインターネット・アクセス。 パブリックIPアドレスを使用してインターネットに接続するパブリック・サブネット上のトラフィックの場合、インターネット・ゲートウェイおよびそのインターネット・ゲートウェイを参照するルート・ルールを作成します。
-
プライベート・インターネット・アクセス。 プライベートIPアドレスを公開せずにインターネットに接続する必要があるプライベート・サブネット上のトラフィックの場合は、そのNATゲートウェイを参照するNATゲートウェイおよびルート・ルールを作成します。
-
VCN-onlyアクセス。 通信を同じVCN上の他のリソースのみに制限するには、ルート・ルールがないデフォルト・ルート表を使用します。
-
別のVCN内のインスタンス。 クラスタと別のVCNで実行されているインスタンス間の通信を有効にするには、ローカル・ピアリング・ゲートウェイ(LPG)とそのLPGを参照するルート・ルールを作成します。
-
データ・センターのIPアドレス空間。 クラスタとオンプレミス・ネットワークIPアドレス空間間の通信を有効にするには、Dynamic Routing Gateway (DRG)とそのDRGを参照するルート・ルールを作成します。
VCNプライベート・ルート表
VCNの作成時に作成されたデフォルト・ルート表を編集します。 ルート表の名前をvcn_privateに変更します。 このルート表にはルート・ルールがありません。 ルート・ルールを追加しないでください。
NATプライベート・ルート表
NATゲートウェイおよびNATゲートウェイを参照するルート・ルールを含むルート表を作成します。
NATゲートウェイ
NATゲートウェイを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「NATゲートウェイを介したパブリック接続の有効化」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
プライベート・ルート・ルールに割り当てるためのNATゲートウェイの名前とOCIDを書き留めます。
プライベート・ルート・ルール
ルート表を作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「ルート表の操作」の「ルート表の作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
この例では、次の入力を使用して、前のステップで作成したNATゲートウェイを参照するプライベート・ルート・ルールを含むルート表を作成します。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
ルート・ルール
|
|
プライベート・サブネットへの割当て用のこのルート表の名前とOCIDを書き留めます。
ローカル・ピアリング・ゲートウェイ
ローカル・ピアリング・ゲートウェイ(LPG)と、LPGを参照するルート・ルールを含むルート表を作成します。
ローカル・ピアリング・ゲートウェイ
LPGを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「ネットワーク」の章の「ローカル・ピアリング・ゲートウェイを介したVCNsの接続」の手順を使用します。
プライベート・ルート・ルールへの割当て用のLPGの名前およびOCIDを書き留めます。
プライベート・ルート・ルール
ルート表を作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「ルート表の操作」の「ルート表の作成」の手順を使用します。
この例では、次の入力を使用して、前のステップで作成したLPGを参照するプライベート・ルート・ルールを含むルート表を作成します。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
ルート・ルール
|
|
"control-plane-endpoint"サブネット(「VCNネイティブ・ポッド・ネットワーキング・コントロール・プレーン・ロード・バランサ・サブネットの作成」)への割当て用に、このルート表の名前とOCIDを書き留めます。
宛先としてOKE VCN CIDRを指定して、2番目のVCN (ピアリングされたVCN)に同じルート・ルールを追加します。
動的ルーティング・ゲートウェイ
動的ルーティング・ゲートウェイ(DRG)と、DRGを参照するルート・ルールを含むルート表を作成します。
動的ルーティング・ゲートウェイ
DRGを作成し、そのDRGにOKE VCNをアタッチするには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「ネットワーク」章の「Dynamic Routing Gatewayを介したオンプレミス・ネットワークへの接続」の手順を使用します。 OKE VCNコンパートメントにDRGを作成し、そのDRGにOKE VCNをアタッチします。
プライベート・ルート・ルールへの割当て用のDRGの名前およびOCIDを書き留めます。
プライベート・ルート・ルール
ルート表を作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「ルート表の操作」の「ルート表の作成」の手順を使用します。
この例では、次の入力を使用して、前のステップで作成したDRGを参照するプライベート・ルート・ルールを含むルート表を作成します。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
ルート・ルール
|
|
"control-plane-endpoint"サブネット(「VCNネイティブ・ポッド・ネットワーキング・コントロール・プレーン・ロード・バランサ・サブネットの作成」)への割当て用に、このルート表の名前とOCIDを書き留めます。
パブリック・ルート表
インターネット・ゲートウェイを参照するルート・ルールを使用して、インターネット・ゲートウェイおよびルート表を作成します。
インターネット・ゲートウェイ
インターネット・ゲートウェイを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「インターネット・ゲートウェイを介したパブリック・アクセスの提供」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
パブリック・ルート・ルールに割り当てるためのインターネット・ゲートウェイの名前とOCIDを書き留めます。
公開ルート・ルール
ルート表を作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「ルート表の操作」の「ルート表の作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
この例では、次の入力を使用して、前のステップで作成したインターネット・ゲートウェイを参照するパブリック・ルート・ルールを含むルート表を作成します。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
ルート・ルール
|
|
パブリック・サブネットへの割当て用のこのルート表の名前とOCIDを書き留めます。
VCNデフォルト・セキュリティ・リスト
次の表に示す入力を使用して、デフォルトのセキュリティ・リストを変更します。 すべてのデフォルト・ルールを削除し、次の表に示すルールを作成します。
セキュリティ・リストを変更するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの更新」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
1つのエグレス・セキュリティ・ルール:
|
1つのエグレス・セキュリティ・ルール:
|
3つのイングレス・セキュリティ・ルール: |
3つのイングレス・セキュリティ・ルール:
|
イングレス・ルール 1
|
イングレス・ルール 1
|
イングレス・ルール 2
|
イングレス・ルール 2
|
イングレス・ルール 3
|
イングレス・ルール 3
|
サブネットへの割当て用のこのデフォルト・セキュリティ・リストの名前とOCIDを書き留めます。
「VCNネイティブ・ポッド・ネットワーキング」ポッド・サブネットの作成
このトピックの手順では、コントロール・プレーン・ノードで実行されているポッドのプライベートIPアドレスを提供する、ポッドという名前のポッド・サブネットをVCNに作成します。 このサブネットのIPアドレスの数は、コントロール・プレーン・サブネットのIPアドレスの数以上である必要があります。 ポッド・サブネットはプライベート・サブネットである必要があります。
ポッド・サブネットは、ポッド間の通信と、プライベート・ポッドIPアドレスを使用した個々のポッドへの直接アクセスをサポートします。 ポッド・サブネットはプライベートである必要があります。 ポッド・サブネットにより、ポッドは、同じワーカー・ノード上の他のポッド、他のワーカー・ノード上のポッド、OCIサービス(サービス・ゲートウェイ経由)およびインターネット(NATゲートウェイ経由)と通信できます。
リストされた順序で次のリソースを作成します:
-
Podセキュリティ・リスト
-
サブネット
Podセキュリティ・リストの作成
セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
次の表に示すセキュリティ・ルールは、ポッドに直接接続できるトラフィックを定義します。 これらのセキュリティ・ルールは、ネットワーク・セキュリティ・グループ(NSG)の一部として、またはセキュリティ・リストで使用します。 Oracleでは、NSGを使用することをお薦めします。 「セキュリティのベスト・プラクティス」を参照してください。
セキュリティ・ルールは、ノード・プールに指定されたポッド・サブネットに接続されているすべてのワーカー・ノードのすべてのポッドに適用されます。
ルーティング・ルールおよびルート表で指定されたルーティング・ポリシーに基づいて、受信リクエストをポッドにルーティングします。 「VCNネイティブ・ポッド・ネットワーキングVCNの作成」で定義されているルート表を参照してください。
この例では、ポッド・サブネット・セキュリティ・リストに次の入力を使用します。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
1つのエグレス・セキュリティ・ルール:
|
1つのエグレス・セキュリティ・ルール:
|
6つのイングレス・セキュリティ・ルール: |
6つのイングレス・セキュリティ・ルール:
|
イングレス・ルール 1
|
イングレス・ルール 1
|
イングレス・ルール 2
|
イングレス・ルール 2
|
イングレス・ルール 3
|
イングレス・ルール 3
|
イングレス・ルール 4
|
イングレス・ルール 4
|
イングレス・ルール 5
このイングレスはオプションです。 このポートはエンド・ユーザー・アプリケーションに対して開いています。 このルールは、デプロイされるアプリケーションによって異なる場合があります。 |
イングレス・ルール 5
このイングレスはオプションです。 このポートはエンド・ユーザー・アプリケーションに対して開いています。 このルールは、デプロイされるアプリケーションによって異なる場合があります。 |
イングレス・ルール 6
|
イングレス・ルール 6
|
Podサブネットの作成
サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
この例では、次の入力を使用してポッド・サブネットを作成します。 「VCNネイティブ・ポッド・ネットワーキングVCNの作成」で作成されたVCNのOCIDを使用します。 ポッド・サブネットは、VCNを作成したのと同じコンパートメントに作成します。
重要:
このサブネットの名前は、正確に「pod」である必要があります。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
「VCNネイティブ・ポッド・ネットワーキング」ワーカー・サブネットの作成
リストされた順序で次のリソースを作成します:
-
ワーカー・セキュリティ・リスト
-
ワーカー・サブネット
ワーカー・セキュリティ・リストの作成
セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
このセキュリティ・リストは、ワーカー・ノードに直接接続できるトラフィックを定義します。
この例では、ワーカー・サブネット・セキュリティ・リストに次の入力を使用します。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
1つのエグレス・セキュリティ・ルール:
|
1つのエグレス・セキュリティ・ルール:
|
10個のイングレス・セキュリティ・ルール: |
10個のイングレス・セキュリティ・ルール:
|
イングレス・ルール 1
|
イングレス・ルール 1
|
イングレス・ルール 2
|
イングレス・ルール 2
|
イングレス・ルール 3
|
イングレス・ルール 3
|
イングレス・ルール 4
|
イングレス・ルール 4
|
イングレス・ルール 5
|
イングレス・ルール 5
|
イングレス・ルール 6
|
イングレス・ルール 6
|
イングレス・ルール 7
|
イングレス・ルール 7
|
イングレス・ルール 8
|
イングレス・ルール 8
|
イングレス・ルール 9
|
イングレスRule9
|
イングレス・ルール 10
|
イングレス・ルール 10
|
ワーカー・サブネットの作成
サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
この例では、次の入力を使用してワーカー・サブネットを作成します。 「VCNネイティブ・ポッド・ネットワーキングVCNの作成」で作成されたVCNのOCIDを使用します。 VCNを作成したのと同じコンパートメントにワーカー・サブネットを作成します。
NATプライベート・ワーカー・サブネットまたはVCNプライベート・ワーカー・サブネットを作成します。 VCN外部と通信するためのNATプライベート・ワーカー・サブネットを作成します。
表4-13 NATプライベート・ワーカー・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
次のプライベート・サブネットの違いは、NATプライベート・ルート表のかわりにVCNプライベート・ルート表が使用されることです。
表4-14 VCNプライベート・ワーカー・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
「VCNネイティブ・ポッド・ネットワーキング」ワーカー・ロード・バランサ・サブネットの作成
リストされた順序で次のリソースを作成します:
-
ワーカー・ロード・バランサ・セキュリティ・リスト
-
ワーカー・ロード・バランサ・サブネット
ワーカー・ロード・バランサ・セキュリティ・リストの作成
セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
このセキュリティ・リストは、ワーカー・ロード・バランサに接続できるトラフィック(アプリケーションなど)を定義します。
この例では、ワーカー・ロード・バランサ・サブネット・セキュリティ・リストに次の入力を使用します。 これらのソースと宛先は例です; これらを自分のアプリケーション用に調整してください。
ノート:
コンテナ化されたアプリケーションの外部ロード・バランサ(「コンテナ化されたアプリケーションの公開」を参照)を作成する場合は、必ずそのロード・バランサ・サービスのフロントエンド・ポートをこのセキュリティ・リストに追加してください。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
1つのエグレス・セキュリティ・ルール:
|
1つのエグレス・セキュリティ・ルール:
|
2つのイングレス・セキュリティ・ルール: |
2つのイングレス・セキュリティ・ルール:
|
イングレス・ルール 1
|
イングレス・ルール 1
|
イングレス・ルール 2
|
イングレス・ルール 2
|
ワーカー・ロード・バランサ・サブネットの作成
サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
この例では、次の入力を使用してワーカー・ロード・バランサ・サブネットを作成します。 「VCNネイティブ・ポッド・ネットワーキングVCNの作成」で作成されたVCNのOCIDを使用します。 ワーカー・ロード・バランサ・サブネットを、VCNを作成したのと同じコンパートメントに作成します。
プライベートまたはパブリック・ワーカーのロード・バランサ・サブネットを作成します。 パブリック・クラスタで使用するパブリック・ワーカー・ロード・バランサ・サブネットを作成します。 プライベート・クラスタ内のアプリケーションを公開するには、プライベート・ワーカー・ロード・バランサ・サブネットを作成します。
表4-15 パブリック・ワーカー・ロード・バランサ・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
次のプライベート・サブネットの違いは、パブリック・ルート表のかわりにVCNプライベート・ルート表が使用されることです。
表4-16 VCNプライベート・ワーカー・ロード・バランサ・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
「VCNネイティブ・ポッド・ネットワーキング」コントロール・プレーン・サブネットの作成
リストされた順序で次のリソースを作成します:
-
コントロール・プレーン・セキュリティ・リスト
-
コントロール・プレーン・サブネット
コントロール・プレーン・セキュリティ・リストの作成
セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
この例では、コントロール・プレーン・サブネット・セキュリティ・リストに次の入力を使用します。 kubernetes_api_port
は、Kubernetes APIへのアクセスに使用されるポートです: ポート6443。 「VCNネイティブ・ポッド・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」も参照してください。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
1つのエグレス・セキュリティ・ルール:
|
1つのエグレス・セキュリティ・ルール:
|
12のイングレス・セキュリティ・ルール: |
12のイングレス・セキュリティ・ルール:
|
イングレス・ルール 1
|
イングレス・ルール 1
|
イングレス・ルール 2
|
イングレス・ルール 2
|
イングレス・ルール 3
|
イングレス・ルール 3
|
イングレス・ルール 4
|
イングレス・ルール 4
|
イングレス・ルール 5
|
イングレス・ルール 5
|
イングレス・ルール 6
|
イングレス・ルール 6
|
イングレス・ルール 7
|
イングレス・ルール 7
|
イングレス・ルール 8
|
イングレス・ルール 8
|
イングレス・ルール 9
|
イングレス・ルール 9
|
イングレス・ルール 10
|
イングレス・ルール 10
|
イングレス・ルール 11
|
イングレス・ルール 11
|
イングレス・ルール 12
|
イングレス・ルール 12
|
コントロール・プレーン・サブネットの作成
サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
次の入力を使用して、コントロール・プレーン・サブネットを作成します。 「VCNネイティブ・ポッド・ネットワーキングVCNの作成」で作成されたVCNのOCIDを使用します。 VCNを作成したのと同じコンパートメントにコントロール・プレーン・サブネットを作成します。
NATプライベート・コントロール・プレーン・サブネットまたはVCNプライベート・コントロール・プレーン・サブネットを作成します。 VCN外部と通信するためのNATプライベート・コントロール・プレーン・サブネットを作成します。
重要:
このサブネットの名前は、正確に"control-plane"である必要があります。
表4-17 データ・センターのプライベート・コントロール・プレーン・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
次のプライベート・サブネットの違いは、NATプライベート・ルート表のかわりにVCNプライベート・ルート表が使用されることです。
表4-18 VCNプライベート・コントロール・プレーン・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
「VCNネイティブ・ポッド・ネットワーキング」コントロール・プレーン・ロード・バランサ・サブネットの作成
リストされた順序で次のリソースを作成します:
-
コントロール・プレーン・ロード・バランサ・セキュリティ・リスト
-
コントロール・プレーン・ロード・バランサ・サブネット
コントロール・プレーンのロード・バランサ・セキュリティ・リストの作成
セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
コントロール・プレーン・ロード・バランサは、ポート6443のトラフィックを受け入れます。このガイドでは、kubernetes_api_port
とも呼ばれます。 このセキュリティ・リストを調整して、ネットワークの実行場所からの接続のみを受け入れます。 ポート6443は、クラスタ・コントロール・プレーン・インスタンスおよびワーカー・インスタンスからの接続を受け入れる必要があります。
この例では、コントロール・プレーン・ロード・バランサ・サブネット・セキュリティ・リストに次の入力を使用します。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
1つのエグレス・セキュリティ・ルール:
|
1つのエグレス・セキュリティ・ルール:
|
6つのイングレス・セキュリティ・ルール: |
6つのイングレス・セキュリティ・ルール:
|
イングレス・ルール 1:
|
イングレス・ルール 1:
|
イングレス・ルール 2:
|
イングレス・ルール 2:
|
イングレス・ルール 3:
|
イングレス・ルール 3:
|
イングレス・ルール 4:
|
イングレス・ルール 4:
|
イングレス・ルール 5:
|
イングレス・ルール 5:
|
イングレス・ルール 6:
|
イングレス・ルール 6:
|
コントロール・プレーンの・ロード・バランサ・サブネットの作成
サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraform VCNネイティブ・ポッド・ネットワーキング・リソースのスクリプト」を参照してください。
この例では、次の入力を使用して、コントロール・プレーン・ロード・バランサ・サブネットを作成します。 「VCNネイティブ・ポッド・ネットワーキングVCNの作成」で作成されたVCNのOCIDを使用します。 VCNを作成したのと同じコンパートメントにコントロール・プレーン・ロード・バランサ・サブネットを作成します。
プライベート・コントロール・プレーン・ロード・バランサまたはパブリック・コントロール・プレーン・ロード・バランサ・サブネットを作成します。 パブリック・クラスタで使用するパブリック・コントロール・プレーン・ロード・バランサ・サブネットを作成します。 プライベート・クラスタで使用するプライベート・コントロール・プレーン・ロード・バランサ・サブネットを作成します。
ローカル・ピアリング・ゲートウェイを使用してプライベート・クラスタをPrivate Cloud Appliance上の他のインスタンスに接続し、Dynamic Routing Gatewaysを使用してプライベート・クラスタをオンプレミスIPアドレス領域に接続する方法の詳細は、「プライベート・クラスタ」を参照してください。 プライベート・コントロール・プレーン・ロード・バランサ・サブネットを作成するには、次のいずれかのルート表を指定します(「フランネル・オーバーレイVCNの作成」を参照):
-
vcn_private
-
lpg_rt
-
drg_rt
表4-19 パブリック・コントロール・プレーン・ロード・バランサ・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
次のプライベート・サブネットの違いは、パブリック・ルート表のかわりにVCNプライベート・ルート表が使用されることです。 ニーズに応じて、かわりにLPGルート表またはDRGルート表を指定できます。
表4-20 プライベート・コントロール・プレーン・ロード・バランサ・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|