「フランネル・オーバーレイ」ネットワーク・リソースの作成
「フランネル・オーバーレイ」ネットワーク・タイプは、「フランネル・オーバーレイ」ネットワーク内のポッド間の通信をカプセル化します。 「フランネル・オーバーレイ」ネットワークは、IPアドレスをコンテナに接続することによってOKEネットワーク・モデルの要件を満たす単純なプライベート・オーバーレイ仮想ネットワークです。 プライベート・オーバーレイ・ネットワーク内のポッドには、同じクラスタ内の他のポッドからのみアクセスできます。
このトピックの次の項のリソース定義では、「フランネル・オーバーレイ」ネットワーキングを使用している場合、ワークロード・クラスタのネットワーク・リソースの実例セットを作成します。 これらのリソースを作成するときは、この構成をガイドとして使用してください。 CIDRブロックやIPアドレスなどのプロパティの値を変更できます。 ネットワーク・プロトコル、ステートフル設定、プライベート/パブリック設定などのプロパティの値を変更しないでください。
特定の目的のために開く必要がある特定のポートについては、「フランネル・オーバーレイ・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」を参照してください。
次のネットワーク・リソースを作成します。 Terraformを使用するには、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
ノート:
これらのすべてのネットワーク・リソースをアプライアンスの同じコンパートメントに作成します。
-
VCN。 「フランネル・オーバーレイVCNの作成」を参照してください。
-
インターネット・ゲートウェイ
-
NATゲートウェイ
-
動的ルーティング・ゲートウェイ
-
ローカル・ピアリング・ゲートウェイ
-
ルート・ルール
-
セキュリティ・リスト
-
次の4つのサブネット:
-
ワーカー。 「フランネル・オーバーレイ・ワーカー・サブネットの作成」を参照してください。
-
ワーカー・ロード・バランサ。 「フランネル・オーバーレイ・ワーカー・ロード・バランサ・サブネットの作成」を参照してください。
-
コントロール・プレーン。 「フランネル・オーバーレイ・コントロール・プレーン・サブネットの作成」を参照してください。
-
コントロール・プレーン・ロード・バランサ。 「フランネル・オーバーレイ・コントロール・プレーン・ロード・バランサ・サブネットの作成」を参照してください。
-
「フランネル・オーバーレイ」ネットワーキングのワークロード・クラスタ・ネットワークCIDR範囲
このドキュメント全体を通して、変数は、異なるサブネット内のインスタンスのCIDR範囲を表すために使用されます。 次の表に、「フランネル・オーバーレイ」ネットワークで使用するCIDR変数と値の例を示します。
ノート:
これらは単なる例です。 使用するCIDRの範囲は、クラスタの数、各クラスタ内のノードの数および使用するネットワークのタイプによって異なります。
「フランネル・オーバーレイ」ネットワークの場合、IPアドレスは基礎となるコンテナ・サービスによって管理されます。 ポッドには、ポッド・サブネットCIDRで定義されているIPアドレス・プールからのIPアドレスは割り当てられません。 このため、「フランネル・オーバーレイ」ネットワーキングを使用している場合、ポッド・サブネットは必要ありません。
「フランネル・オーバーレイ」ネットワーキングと「VCNネイティブ・ポッド・ネットワーキング」のIPアドレス要件の主な違いは、「VCNネイティブ・ポッド・ネットワーキング」がより多くのIPアドレスを使用できる必要があることです。 「VCNネイティブ・ポッド・ネットワーキングのワークロード・クラスタ・ネットワークCIDR範囲」の表は、「フランネル・オーバーレイ」 CIDR範囲の次の表よりも大きいCIDR範囲を示しています。 「フランネル・オーバーレイ」ネットワークで使用されるCIDR範囲は、「VCNネイティブ・ポッド・ネットワーキング」で使用されるCIDR範囲よりはるかに小さくできます。
表4-1 例CIDR「フランネル・オーバーレイ」ネットワーキングで使用する値
変数名 | 説明 | 値の例 |
---|---|---|
|
VCN CIDR範囲 |
172.31.252.0/23 |
|
ワーカー・サブネットCIDR |
172.31.253.0/24 |
|
ワーカー・ロード・バランサ・サブネットCIDR |
172.31.252.0/25 |
|
OKE コントロール・プレーン・サブネットCIDR |
172.31.252.224/28 |
|
OKE コントロール・プレーン・ロード・バランサ・サブネットCIDR |
172.31.252.240/28 |
|
Kubernetes APIサーバーへの接続を許可されているクライアントのCIDR |
10.0.0.0/8 |
「Calculator.netのIPサブネット計算機」は、特定のIPアドレスおよびプレフィクスの長さで使用可能なすべてのネットワークを検索するための1つのツールです。
「フランネル・オーバーレイ」ネットワーキングのワークロード・クラスタ・ネットワーク・ポート
次の表に、「フランネル・オーバーレイ」ネットワーキングの使用時にワークロード・クラスタで使用されるポートを示します。 これらのポートは、ワークロード・クラスタ・ネットワーキングを構成するために使用できる必要があります。 他の目的で追加のポートを開く必要がある場合があります。
すべてのプロトコルはTCPです。 すべてのポート状態はステートフルです。 ポート6443は、Kubernetes APIに使用されるポートで、このガイドではkubernetes_api_port
とも呼ばれます。
「Oracle Private Cloud Applianceセキュリティ・ガイド」の「ポート・マトリックス」の表も参照してください。
別の管理ネットワークを使用している場合は、「管理ネットワークを使用したOKEクラスタ管理」を参照してください。
表4-2 「フランネル・オーバーレイ」ネットワーキングのワークロード・クラスタで使用可能にする必要があるポート
ソースIPアドレス | 宛先IPアドレス | ポート | 説明 |
---|---|---|---|
バスチョン・ホスト: |
ワーカー・ノード・サブネット: |
22 |
バスチョン・ホストからワーカーCIDRへのアウトバウンド接続。 |
バスチョン・ホスト: |
コントロール・プレーン・サブネット: |
22 |
バスチョン・ホストからコントロール・プレーン・ノードへのアウトバウンド接続。 |
ワーカー・ノード・サブネット: |
yumリポジトリ |
80 |
ワーカーCIDRから外部アプリケーションへのアウトバウンド接続。 |
ワーカー・ノード・サブネット: |
セキュアなyumリポジトリ |
443 |
ワーカーCIDRから外部アプリケーションへのアウトバウンド・トラフィックを保護します。 |
ワーカー・ノード・サブネット: |
コンテナ・レジストリ |
5000 |
ワーカーCIDRからコンテナ・レジストリへのアウトバウンド接続。 |
ワーカー・ノード・サブネット: |
コントロール・プレーン・サブネット: |
6443 |
ワーカーCIDRからKubernetes APIへのアウトバウンド接続。 これは、いずれかのノードのパブリックIPアドレスまたはロード・バランサのパブリックIPアドレスのいずれかを介してノードを結合できるようにするために必要です。 |
ワーカー・ノード・サブネット: |
コントロール・プレーン・ロード・バランサ |
6443 |
ワーカーCIDRからKubernetes APIへのインバウンド接続。 |
クライアントのCIDR: |
コントロール・プレーン・ロード・バランサ |
6443 |
クライアントからKubernetes APIサーバーへのインバウンド接続。 |
ワーカー・ノード・サブネット: |
コントロール・プレーン・サブネット: |
6443 |
コントロール・プレーン・サブネット上のワーカーCIDRから |
|
ワーカー・ノード・サブネット: |
30000-32767 |
Kubernetesクライアントからのアプリケーションのインバウンド・トラフィック。 |
例: 「フランネル・オーバーレイ」ネットワーク・リソースのTerraformスクリプト
次のTerraformスクリプトでは、「フランネル・オーバーレイ」ネットワーキングを使用しているときにOKEが必要とするネットワーク・リソースを作成します。 このトピックの後続の項では、これらの同じネットワーク・リソースを定義する他の方法を示します。
これらのスクリプトに示されているほとんどの値(リソース表示名やCIDRなど)が例です。 一部のポートは、次に示すように指定する必要があり(「フランネル・オーバーレイ・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」を参照)、OKEコントロール・プレーン・サブネットの名前はcontrol-plane
である必要があります。 CIDR値の詳細は、「フランネル・オーバーレイ・ネットワーキングのワークロード・クラスタ・ネットワークCIDR範囲」を参照してください。
variables.tf
このファイルは、「フランネル・オーバーレイ」ネットワーキングを使用しているときにOKEネットワーク・リソースの構成に使用される複数の変数を作成します。 これらの変数の多くは、このファイルに値を割り当てられていません。 1つのポートと5つのCIDRに値が割り当てられます。 kubernetes_api_port
、ポート6443は、Kubernetes APIへのアクセスに使用されるポートです。 「フランネル・オーバーレイ・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」も参照してください。 このファイルに定義されている5つの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.252.0/23" } # Subnet for KMIs where kube-apiserver and other control # plane applications run variable "kmi_cidr" { description = "K8s control plane subnet CIDR" default = "172.31.252.224/28" } # Subnet for KMI load balancer variable "kmilb_cidr" { description = "K8s control plane LB subnet CIDR" default = "172.31.252.240/28" } # Subnet for worker nodes, max 128 nodes variable "worker_cidr" { description = "K8s worker subnet CIDR" default = "172.31.253.0/24" } # Subnet for worker load balancer (for use by CCM) variable "workerlb_cidr" { description = "K8s worker LB subnet CIDR" default = "172.31.252.0/25" } # 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 oci_config_file_profile 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 Kubernetes API server. kube_client_cidr = "10.0.0.0/8" # Security list rules for who is allowed to contact the worker load balancer. # Adjust these values 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.0.0.0/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.vcn_cidr port_min = 22 port_max = 22 }, { source = var.workerlb_cidr port_min = 30000 port_max = 32767 }, { source = var.workerlb_cidr port_min = 10256 port_max = 10256 }, { source = var.kmi_cidr port_min = 22 port_max = 65535 }, ]]) 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.vcn_cidr port_min = var.kubernetes_api_port port_max = var.kubernetes_api_port }, ] 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.worker_cidr port_min = 1024 port_max = 65535 }, { source = var.kmi_cidr port_min = 1024 port_max = 65535 }, ] }
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_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 } } } }
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 } } } } 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
-
ルート・ルール
-
パブリック・クラスタ:
-
インターネット・ゲートウェイおよびそのインターネット・ゲートウェイを参照するルート・ルールを含むルート表。
-
NATゲートウェイおよびそのNATゲートウェイを参照するルート・ルールを含むルート表。
-
-
プライベート・クラスタ:
-
ルート・ルールのないルート表。
-
(オプション) Dynamic Routing Gateway (DRG)およびそのDRGを参照するルート・ルールを含むルート表。 「プライベート・クラスタ」を参照してください。
-
(オプション)ローカル・ピアリング・ゲートウェイ(LPG)およびそのLPGを参照するルート・ルールを含むルート表。 「プライベート・クラスタ」を参照してください。
-
-
-
セキュリティ・リスト VCNのデフォルト・セキュリティ・リストを変更します。
リソース名およびCIDRブロックは値の例です。
VCN
VCNを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「VCNの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
この例では、次の入力を使用して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にOKE VCNをアタッチし、そのDRGを参照するルート・ルールを作成します。
VCNプライベート・ルート表
VCNの作成時に作成されたデフォルト・ルート表を編集します。 ルート表の名前をvcn_privateに変更します。 このルート表にはルート・ルールがありません。 ルート・ルールを追加しないでください。
NATプライベート・ルート表
NATゲートウェイおよびNATゲートウェイを参照するルート・ルールを含むルート表を作成します。
NATゲートウェイ
NATゲートウェイを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「NATゲートウェイを介したパブリック接続の有効化」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
プライベート・ルート・ルールに割り当てるための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"サブネット(「フランネル・オーバーレイ・コントロール・プレーン・ロード・バランサ・サブネットの作成」)への割当て用に、このルート表の名前と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"サブネット(「フランネル・オーバーレイ・コントロール・プレーン・ロード・バランサ・サブネットの作成」)への割当て用に、このルート表の名前とOCIDを書き留めます。
パブリック・ルート表
インターネット・ゲートウェイを参照するルート・ルールを使用して、インターネット・ゲートウェイおよびルート表を作成します。
インターネット・ゲートウェイ
インターネット・ゲートウェイを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「インターネット・ゲートウェイを介したパブリック・アクセスの提供」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
パブリック・ルート・ルールに割り当てるためのインターネット・ゲートウェイの名前とOCIDを書き留めます。
公開ルート・ルール
ルート表を作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「ルート表の操作」の「ルート表の作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
この例では、次の入力を使用して、前のステップで作成したインターネット・ゲートウェイを参照するパブリック・ルート・ルールを含むルート表を作成します。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
ルート・ルール
|
|
パブリック・サブネットへの割当て用のこのルート表の名前とOCIDを書き留めます。
VCNデフォルト・セキュリティ・リスト
次の表に示す入力を使用して、デフォルトのセキュリティ・リストを変更します。 すべてのデフォルト・ルールを削除し、次の表に示すルールを作成します。
セキュリティ・リストを変更するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの更新」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
1つのエグレス・セキュリティ・ルール:
|
1つのエグレス・セキュリティ・ルール:
|
3つのイングレス・セキュリティ・ルール: |
3つのイングレス・セキュリティ・ルール:
|
イングレス・ルール 1
|
イングレス・ルール 1
|
イングレス・ルール 2
|
イングレス・ルール 2
|
イングレス・ルール 3
|
イングレス・ルール 3
|
サブネットへの割当て用のこのデフォルト・セキュリティ・リストの名前とOCIDを書き留めます。
「フランネル・オーバーレイ」ワーカー・サブネットの作成
リストされた順序で次のリソースを作成します:
-
ワーカー・セキュリティ・リスト
-
ワーカー・サブネット
ワーカー・セキュリティ・リストの作成
セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
このセキュリティ・リストは、ワーカー・ノードに直接接続できるトラフィックを定義します。
この例では、ワーカー・サブネット・セキュリティ・リストに次の入力を使用します。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
7つのイングレス・セキュリティ・ルール: |
7つのイングレス・セキュリティ・ルール:
|
イングレス・ルール 1
|
イングレス・ルール 1
|
イングレス・ルール 2
|
イングレス・ルール 2
|
イングレス・ルール 3
|
イングレス・ルール 3
|
イングレス・ルール 4
|
イングレス・ルール 4
|
イングレス・ルール 5
|
イングレス・ルール 5
|
ワーカー・サブネットの作成
サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
この例では、次の入力を使用してワーカー・サブネットを作成します。 「フランネル・オーバーレイVCNの作成」で作成されたVCNのOCIDを使用します。 VCNを作成したのと同じコンパートメントにワーカー・サブネットを作成します。
NATプライベート・ワーカー・サブネットまたはVCNプライベート・ワーカー・サブネットを作成します。 VCN外部と通信するためのNATプライベート・ワーカー・サブネットを作成します。
表4-3 NATプライベート・ワーカー・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
次のプライベート・サブネットの違いは、NATプライベート・ルート表のかわりにVCNプライベート・ルート表が使用されることです。
表4-4 VCNプライベート・ワーカー・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
「フランネル・オーバーレイ」ワーカー・ロード・バランサ・サブネットの作成
リストされた順序で次のリソースを作成します:
-
ワーカー・ロード・バランサ・セキュリティ・リスト
-
ワーカー・ロード・バランサ・サブネット
ワーカー・ロード・バランサ・セキュリティ・リストの作成
セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
このセキュリティ・リストは、ワーカー・ロード・バランサに接続できるトラフィック(アプリケーションなど)を定義します。
この例では、ワーカー・ロード・バランサ・サブネット・セキュリティ・リストに次の入力を使用します。 これらのソースと宛先は例です; これらを自分のアプリケーション用に調整してください。
ノート:
コンテナ化されたアプリケーションの外部ロード・バランサ(「コンテナ化されたアプリケーションの公開」を参照)を作成する場合は、必ずそのロード・バランサ・サービスのフロントエンド・ポートをこのセキュリティ・リストに追加してください。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
2つのイングレス・セキュリティ・ルール: |
2つのイングレス・セキュリティ・ルール:
|
イングレス・ルール 1
|
イングレス・ルール 1
|
イングレス・ルール 2
|
イングレス・ルール 2
|
ワーカー・ロード・バランサ・サブネットの作成
サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
この例では、次の入力を使用してワーカー・ロード・バランサ・サブネットを作成します。 「フランネル・オーバーレイVCNの作成」で作成されたVCNのOCIDを使用します。 ワーカー・ロード・バランサ・サブネットを、VCNを作成したのと同じコンパートメントに作成します。
プライベートまたはパブリック・ワーカーのロード・バランサ・サブネットを作成します。 パブリック・クラスタで使用するパブリック・ワーカー・ロード・バランサ・サブネットを作成します。 プライベート・クラスタ内のアプリケーションを公開するには、プライベート・ワーカー・ロード・バランサ・サブネットを作成します。
表4-5 パブリック・ワーカー・ロード・バランサ・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
次のプライベート・サブネットの違いは、パブリック・ルート表のかわりにVCNプライベート・ルート表が使用されることです。
表4-6 プライベート・ワーカー・ロード・バランサ・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
「フランネル・オーバーレイ」コントロール・プレーン・サブネットの作成
リストされた順序で次のリソースを作成します:
-
コントロール・プレーン・セキュリティ・リスト
-
コントロール・プレーン・サブネット
コントロール・プレーン・セキュリティ・リストの作成
セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
この例では、コントロール・プレーン・サブネット・セキュリティ・リストに次の入力を使用します。 kubernetes_api_port
は、Kubernetes APIへのアクセスに使用されるポートです: ポート6443。 「VCNネイティブ・ポッド・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」も参照してください。 「フランネル・オーバーレイ・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」も参照してください。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
6つのイングレス・セキュリティ・ルール: |
6つのイングレス・セキュリティ・ルール:
|
イングレス・ルール 1
|
イングレス・ルール 1
|
イングレス・ルール 2
|
イングレス・ルール 2
|
イングレス・ルール 3
|
イングレス・ルール 3
|
イングレス・ルール 4
|
イングレス・ルール 4
|
コントロール・プレーン・サブネットの作成
サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
次の入力を使用して、コントロール・プレーン・サブネットを作成します。 「フランネル・オーバーレイVCNの作成」で作成されたVCNのOCIDを使用します。 VCNを作成したのと同じコンパートメントにコントロール・プレーン・サブネットを作成します。
NATプライベート・コントロール・プレーン・サブネットまたはVCNプライベート・コントロール・プレーン・サブネットを作成します。 VCN外部と通信するためのNATプライベート・コントロール・プレーン・サブネットを作成します。
重要:
このサブネットの名前は、正確に"control-plane"である必要があります。
表4-7 NATプライベート・コントロール・プレーン・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
次のプライベート・サブネットの違いは、NATプライベート・ルート表のかわりにVCNプライベート・ルート表が使用されることです。
表4-8 VCNプライベート・コントロール・プレーン・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
「フランネル・オーバーレイ」コントロール・プレーン・ロード・バランサ・サブネットの作成
リストされた順序で次のリソースを作成します:
-
コントロール・プレーン・ロード・バランサ・セキュリティ・リスト
-
コントロール・プレーン・ロード・バランサ・サブネット
コントロール・プレーンのロード・バランサ・セキュリティ・リストの作成
セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
コントロール・プレーン・ロード・バランサは、ポート6443のトラフィックを受け入れます。このガイドでは、kubernetes_api_port
とも呼ばれます。 このセキュリティ・リストを調整して、ネットワークの実行場所からの接続のみを受け入れます。 ポート6443は、クラスタ・コントロール・プレーン・インスタンスおよびワーカー・インスタンスからの接続を受け入れる必要があります。
この例では、コントロール・プレーン・ロード・バランサ・サブネット・セキュリティ・リストに次の入力を使用します。
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
3つのイングレス・セキュリティ・ルール: |
3つのイングレス・セキュリティ・ルール:
|
イングレス・ルール 1:
|
イングレス・ルール 1:
|
イングレス・ルール 2:
|
イングレス・ルール 2:
|
イングレス・ルール 3:
|
イングレス・ルール 3:
|
コントロール・プレーンの・ロード・バランサ・サブネットの作成
サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」の「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。
この例では、次の入力を使用して、コントロール・プレーン・ロード・バランサ・サブネットを作成します。 「フランネル・オーバーレイVCNの作成」で作成されたVCNのOCIDを使用します。 VCNを作成したのと同じコンパートメントにコントロール・プレーン・ロード・バランサ・サブネットを作成します。
プライベート・コントロール・プレーン・ロード・バランサまたはパブリック・コントロール・プレーン・ロード・バランサ・サブネットを作成します。 パブリック・クラスタで使用するパブリック・コントロール・プレーン・ロード・バランサ・サブネットを作成します。 プライベート・クラスタで使用するプライベート・コントロール・プレーン・ロード・バランサ・サブネットを作成します。
ローカル・ピアリング・ゲートウェイを使用してプライベート・クラスタをPrivate Cloud Appliance上の他のインスタンスに接続し、Dynamic Routing Gatewaysを使用してプライベート・クラスタをオンプレミスIPアドレス領域に接続する方法の詳細は、「プライベート・クラスタ」を参照してください。 プライベート・コントロール・プレーン・ロード・バランサ・サブネットを作成するには、次のいずれかのルート表を指定します(「フランネル・オーバーレイVCNの作成」を参照):
-
vcn_private
-
lpg_rt
-
drg_rt
表4-9 パブリック・コントロール・プレーン・ロード・バランサ・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|
次のプライベート・サブネットの違いは、パブリック・ルート表のかわりにVCNプライベート・ルート表が使用されることです。 ニーズに応じて、かわりにLPGルート表またはDRGルート表を指定できます。
表4-10 プライベート・コントロール・プレーン・ロード・バランサ・サブネットの作成
コンピュートWeb UIプロパティ | OCI CLIプロパティ |
---|---|
|
|