「フランネル・オーバーレイ」ネットワーク・リソースの作成

「フランネル・オーバーレイ」ネットワーク・タイプは、「フランネル・オーバーレイ」ネットワーク内のポッド間の通信をカプセル化します。 「フランネル・オーバーレイ」ネットワークは、IPアドレスをコンテナに接続することによってOKEネットワーク・モデルの要件を満たす単純なプライベート・オーバーレイ仮想ネットワークです。 プライベート・オーバーレイ・ネットワーク内のポッドには、同じクラスタ内の他のポッドからのみアクセスできます。

このトピックの次の項のリソース定義では、「フランネル・オーバーレイ」ネットワーキングを使用している場合、ワークロード・クラスタのネットワーク・リソースの実例セットを作成します。 これらのリソースを作成するときは、この構成をガイドとして使用してください。 CIDRブロックやIPアドレスなどのプロパティの値を変更できます。 ネットワーク・プロトコル、ステートフル設定、プライベート/パブリック設定などのプロパティの値を変更しないでください。

特定の目的のために開く必要がある特定のポートについては、「フランネル・オーバーレイ・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」を参照してください。

次のネットワーク・リソースを作成します。 Terraformを使用するには、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

ノート:

これらのすべてのネットワーク・リソースをアプライアンスの同じコンパートメントに作成します。

「フランネル・オーバーレイ」ネットワーキングのワークロード・クラスタ・ネットワークCIDR範囲

このドキュメント全体を通して、変数は、異なるサブネット内のインスタンスのCIDR範囲を表すために使用されます。 次の表に、「フランネル・オーバーレイ」ネットワークで使用するCIDR変数と値の例を示します。

ノート:

これらは単なる例です。 使用するCIDRの範囲は、クラスタの数、各クラスタ内のノードの数および使用するネットワークのタイプによって異なります。

「フランネル・オーバーレイ」ネットワークの場合、IPアドレスは基礎となるコンテナ・サービスによって管理されます。 ポッドには、ポッド・サブネットCIDRで定義されているIPアドレス・プールからのIPアドレスは割り当てられません。 このため、「フランネル・オーバーレイ」ネットワーキングを使用している場合、ポッド・サブネットは必要ありません。

「フランネル・オーバーレイ」ネットワーキングと「VCNネイティブ・ポッド・ネットワーキング」のIPアドレス要件の主な違いは、「VCNネイティブ・ポッド・ネットワーキング」がより多くのIPアドレスを使用できる必要があることです。 「VCNネイティブ・ポッド・ネットワーキングのワークロード・クラスタ・ネットワークCIDR範囲」の表は、「フランネル・オーバーレイ」 CIDR範囲の次の表よりも大きいCIDR範囲を示しています。 「フランネル・オーバーレイ」ネットワークで使用されるCIDR範囲は、「VCNネイティブ・ポッド・ネットワーキング」で使用されるCIDR範囲よりはるかに小さくできます。

表4-1 例CIDR「フランネル・オーバーレイ」ネットワーキングで使用する値

変数名 説明 値の例

vcn_cidr

VCN CIDR範囲

172.31.252.0/23

worker_cidr

ワーカー・サブネットCIDR

172.31.253.0/24

workerlb_cidr

ワーカー・ロード・バランサ・サブネットCIDR

172.31.252.0/25

kmi_cidr

OKE コントロール・プレーン・サブネットCIDR

172.31.252.224/28

kmilb_cidr

OKE コントロール・プレーン・ロード・バランサ・サブネットCIDR

172.31.252.240/28

kube_client_cidr

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アドレス ポート 説明

バスチョン・ホスト: vcn_cidr

ワーカー・ノード・サブネット: worker_cidr

22

バスチョン・ホストからワーカーCIDRへのアウトバウンド接続。

バスチョン・ホスト: vcn_cidr

コントロール・プレーン・サブネット: kmi_cidr

22

バスチョン・ホストからコントロール・プレーン・ノードへのアウトバウンド接続。

ワーカー・ノード・サブネット: worker_cidr

yumリポジトリ

80

ワーカーCIDRから外部アプリケーションへのアウトバウンド接続。

ワーカー・ノード・サブネット: worker_cidr

セキュアなyumリポジトリ

443

ワーカーCIDRから外部アプリケーションへのアウトバウンド・トラフィックを保護します。

ワーカー・ノード・サブネット: worker_cidr

コンテナ・レジストリ

5000

ワーカーCIDRからコンテナ・レジストリへのアウトバウンド接続。

ワーカー・ノード・サブネット: worker_cidr

コントロール・プレーン・サブネット: kmi_cidr

6443

ワーカーCIDRからKubernetes APIへのアウトバウンド接続。 これは、いずれかのノードのパブリックIPアドレスまたはロード・バランサのパブリックIPアドレスのいずれかを介してノードを結合できるようにするために必要です。

ワーカー・ノード・サブネット: worker_cidr

コントロール・プレーン・ロード・バランサ

6443

ワーカーCIDRからKubernetes APIへのインバウンド接続。

クライアントのCIDR: kube_client_cidr

コントロール・プレーン・ロード・バランサ

6443

クライアントからKubernetes APIサーバーへのインバウンド接続。

ワーカー・ノード・サブネット: worker_cidr

コントロール・プレーン・サブネット: kmi_cidr

6443

コントロール・プレーン・サブネット上のワーカーCIDRからkubeapiへのプライベート・アウトバウンド接続。

kube_client_cidr

ワーカー・ノード・サブネット: worker_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の作成

リストされた順序で次のリソースを作成します:

  1. VCN

  2. ルート・ルール

    • パブリック・クラスタ:

      • インターネット・ゲートウェイおよびそのインターネット・ゲートウェイを参照するルート・ルールを含むルート表。

      • NATゲートウェイおよびそのNATゲートウェイを参照するルート・ルールを含むルート表。

    • プライベート・クラスタ:

      • ルート・ルールのないルート表。

      • (オプション) Dynamic Routing Gateway (DRG)およびそのDRGを参照するルート・ルールを含むルート表。 「プライベート・クラスタ」を参照してください。

      • (オプション)ローカル・ピアリング・ゲートウェイ(LPG)およびそのLPGを参照するルート・ルールを含むルート表。 「プライベート・クラスタ」を参照してください。

  3. セキュリティ・リスト VCNのデフォルト・セキュリティ・リストを変更します。

リソース名およびCIDRブロックは値の例です。

VCN

VCNを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「VCNの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

この例では、次の入力を使用してVCNを作成します。 VCNは1つの連続したCIDRブロックをカバーします。 CIDRブロックは、VCNの作成後に変更できません。

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: oketest-vcn

  • CIDRブロック: vcn_cidr

  • DNSラベル: oketest

    このラベルは、テナンシ内のすべてのVCN間で一意である必要があります。

  • --display-name: oketest-vcn

  • --cidr-blocks: '["vcn_cidr"]'

  • --dns-label: oketest

    このラベルは、テナンシ内のすべてのVCN間で一意である必要があります。

新しい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プロパティ
  • 名前: nat_private

ルート・ルール

  • ターゲット・タイプ: NATゲートウェイ

  • NATゲートウェイ: 前のステップで作成したNATゲートウェイの名前

  • CIDRブロック: 0.0.0.0/0

  • 摘要: NATプライベート・ルート・ルール

  • --display-name: nat_private

--route-rules

  • networkEntityId: 前のステップで作成したNATゲートウェイのOCID

  • destinationType: CIDR_BLOCK

  • destination: 0.0.0.0/0

  • description: NATプライベート・ルート・ルール

プライベート・サブネットへの割当て用のこのルート表の名前とOCIDを書き留めます。

ローカル・ピアリング・ゲートウェイ

ローカル・ピアリング・ゲートウェイ(LPG)と、LPGを参照するルート・ルールを含むルート表を作成します。

ローカル・ピアリング・ゲートウェイ

LPGを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「ネットワーク」の章の「ローカル・ピアリング・ゲートウェイを介したVCNsの接続」の手順を使用します。

プライベート・ルート・ルールへの割当て用のLPGの名前およびOCIDを書き留めます。

プライベート・ルート・ルール

ルート表を作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「ルート表の操作」の「ルート表の作成」の手順を使用します。

この例では、次の入力を使用して、前のステップで作成したLPGを参照するプライベート・ルート・ルールを含むルート表を作成します。

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: lpg_rt

ルート・ルール

  • ターゲット・タイプ: ローカル・ピアリング・ゲートウェイ

  • ローカル・ピアリング・ゲートウェイ: 前のステップで作成したLPGの名前

  • CIDRブロック: CIDR_for_the_second_VCN

  • 摘要: LPGプライベート・ルート・ルール

  • --display-name: lpg_rt

--route-rules

  • networkEntityId: 前のステップで作成したLPGのOCID

  • destinationType: CIDR_BLOCK

  • destination: CIDR_for_the_second_VCN

  • description: LPGプライベート・ルート・ルール

"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プロパティ
  • 名前: drg_rt

ルート・ルール

  • ターゲット・タイプ: 動的ルーティング・ゲートウェイ

  • 動的ルーティング: 前のステップで作成したDRGの名前

  • CIDRブロック: 0.0.0.0/0

  • 摘要: DRGプライベート・ルート・ルール

  • --display-name: drg_rt

--route-rules

  • networkEntityId: 前のステップで作成したDRGのOCID

  • destinationType: CIDR_BLOCK

  • destination: 0.0.0.0/0

  • description: DRGプライベート・ルート・ルール

"control-plane-endpoint"サブネット(「フランネル・オーバーレイ・コントロール・プレーン・ロード・バランサ・サブネットの作成」)への割当て用に、このルート表の名前とOCIDを書き留めます。

パブリック・ルート表

インターネット・ゲートウェイを参照するルート・ルールを使用して、インターネット・ゲートウェイおよびルート表を作成します。

インターネット・ゲートウェイ

インターネット・ゲートウェイを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「インターネット・ゲートウェイを介したパブリック・アクセスの提供」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

パブリック・ルート・ルールに割り当てるためのインターネット・ゲートウェイの名前とOCIDを書き留めます。

公開ルート・ルール

ルート表を作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「ルート表の操作」の「ルート表の作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

この例では、次の入力を使用して、前のステップで作成したインターネット・ゲートウェイを参照するパブリック・ルート・ルールを含むルート表を作成します。

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: パブリック

ルート・ルール

  • ターゲット・タイプ: インターネット・ゲートウェイ

  • インターネット・ゲートウェイ: 前のステップで作成したインターネット・ゲートウェイの名前

  • CIDRブロック: 0.0.0.0/0

  • 説明: OKEパブリック・ルート・ルール

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: パブリック

--route-rules

  • networkEntityId: 前のステップで作成したインターネット・ゲートウェイのOCID

  • destinationType: CIDR_BLOCK

  • destination: 0.0.0.0/0

  • description: OKE public route rule

パブリック・サブネットへの割当て用のこのルート表の名前とOCIDを書き留めます。

VCNデフォルト・セキュリティ・リスト

次の表に示す入力を使用して、デフォルトのセキュリティ・リストを変更します。 すべてのデフォルト・ルールを削除し、次の表に示すルールを作成します。

セキュリティ・リストを変更するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの更新」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: デフォルト

--security-list-id: ocid1.securitylist.default_securitylist_id

1つのエグレス・セキュリティ・ルール:

  • ステートレス: ボックスのアンチェック

  • エグレスCIDR: 0.0.0.0/0

  • IPプロトコル: すべてのプロトコル

  • 説明: "Allow all outgoing traffic."

1つのエグレス・セキュリティ・ルール:

--egress-security-rules

  • isStateless: false

  • destination: 0.0.0.0/0

  • destinationType: CIDR_BLOCK

  • protocol: all

  • description: "Allow all outgoing traffic."

3つのイングレス・セキュリティ・ルール:

3つのイングレス・セキュリティ・ルール:

--ingress-security-rules

イングレス・ルール 1

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: vcn_cidr

  • IPプロトコル: ICMP

    • パラメータ・タイプ: 8: エコー

  • 説明: "Allow ping from VCN."

イングレス・ルール 1

  • isStateless: false

  • source: vcn_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 8

  • description: "Allow ping from VCN."

イングレス・ルール 2

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: 0.0.0.0/0

  • IPプロトコル: ICMP

    • パラメータ・タイプ: 3: 宛先に到達できません

  • 摘要: "任意のソースからの受信リクエストをブロックします。"。

イングレス・ルール 2

  • isStateless: false

  • source: 0.0.0.0/0

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 3

  • description: "任意のソースからの受信リクエストをブロックします。"。

イングレス・ルール 3

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: 0.0.0.0/0

  • IPプロトコル: ICMP

    • パラメータ・タイプ: 11: 時間超過

  • 摘要: "Time exceeded".

イングレス・ルール 3

  • isStateless: false

  • source: 0.0.0.0/0

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 11

  • description: "Time exceeded."

サブネットへの割当て用のこのデフォルト・セキュリティ・リストの名前とOCIDを書き留めます。

「フランネル・オーバーレイ」ワーカー・サブネットの作成

リストされた順序で次のリソースを作成します:

  1. ワーカー・セキュリティ・リスト

  2. ワーカー・サブネット

ワーカー・セキュリティ・リストの作成

セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

このセキュリティ・リストは、ワーカー・ノードに直接接続できるトラフィックを定義します。

この例では、ワーカー・サブネット・セキュリティ・リストに次の入力を使用します。

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: worker-seclist

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: worker-seclist

7つのイングレス・セキュリティ・ルール:

7つのイングレス・セキュリティ・ルール:

--ingress-security-rules

イングレス・ルール 1

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: vcn_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 22

  • 説明: "Allow intra-VCN ssh ".

イングレス・ルール 1

  • isStateless: false

  • source: vcn_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 22

    • min: 22

  • description: "Allow intra-VCN ssh."

イングレス・ルール 2

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: kube_client_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 30000-32767

  • 説明: "Allow clients to contact the node port range."

イングレス・ルール 2

  • isStateless: false

  • source: kube_client_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 32767

    • min: 30000

  • description: "Allow clients to contact the node port range."

イングレス・ルール 3

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: workerlb_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 30000-32767

  • 説明: "Allow the worker load balancer to contact the worker nodes."

イングレス・ルール 3

  • isStateless: false

  • source: workerlb_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 32767

    • min: 30000

  • description: "Allow the worker load balancer to contact the worker nodes."

イングレス・ルール 4

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: workerlb_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 10256

  • 説明: "Allow the worker load balancer to contact the worker nodes."

イングレス・ルール 4

  • isStateless: false

  • source: workerlb_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10256

    • min: 10256

  • description: "Allow the worker load balancer to contact the worker nodes."

イングレス・ルール 5

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: kmi_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 22-65535

  • 説明: "Allow the control plane to contact the worker nodes."

イングレス・ルール 5

  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 65535

    • min: 22

  • description: "Allow the control plane to contact the worker nodes."

ワーカー・サブネットの作成

サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

この例では、次の入力を使用してワーカー・サブネットを作成します。 「フランネル・オーバーレイVCNの作成」で作成されたVCNのOCIDを使用します。 VCNを作成したのと同じコンパートメントにワーカー・サブネットを作成します。

NATプライベート・ワーカー・サブネットまたはVCNプライベート・ワーカー・サブネットを作成します。 VCN外部と通信するためのNATプライベート・ワーカー・サブネットを作成します。

表4-3 NATプライベート・ワーカー・サブネットの作成

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: ワーカー

  • CIDRブロック: worker_cidr

  • ルート表: リストから「nat_private」を選択

  • プライベート・サブネット: ボックスのチェック

  • DNSホスト名:

    このサブネットでDNSホスト名を使用: ボックスのチェック

    • DNSラベル: ワーカー

  • セキュリティ・リスト: リストから「worker-seclist」および「Default Security List for oketest-vcn」を選択

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: worker

  • --cidr-block: worker_cidr

  • --dns-label: worker

  • --prohibit-public-ip-on-vnic: true

  • --route-table-id: 「nat_private」ルート表のOCID

  • --security-list-ids: 「worker-seclist」セキュリティ・リストのOCIDsおよび「oketest-vcnのデフォルト・セキュリティ・リスト」セキュリティ・リスト

次のプライベート・サブネットの違いは、NATプライベート・ルート表のかわりにVCNプライベート・ルート表が使用されることです。

表4-4 VCNプライベート・ワーカー・サブネットの作成

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: ワーカー

  • CIDRブロック: worker_cidr

  • ルート表: リストから「vcn_private」を選択

  • プライベート・サブネット: ボックスのチェック

  • DNSホスト名:

    このサブネットでDNSホスト名を使用: ボックスのチェック

    • DNSラベル: ワーカー

  • セキュリティ・リスト: リストから「worker-seclist」および「Default Security List for oketest-vcn」を選択

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: worker

  • --cidr-block: worker_cidr

  • --dns-label: worker

  • --prohibit-public-ip-on-vnic: true

  • --route-table-id: 「vcn_private」ルート表のOCID

  • --security-list-ids: 「worker-seclist」セキュリティ・リストのOCIDsおよび「oketest-vcnのデフォルト・セキュリティ・リスト」セキュリティ・リスト

「フランネル・オーバーレイ」ワーカー・ロード・バランサ・サブネットの作成

リストされた順序で次のリソースを作成します:

  1. ワーカー・ロード・バランサ・セキュリティ・リスト

  2. ワーカー・ロード・バランサ・サブネット

ワーカー・ロード・バランサ・セキュリティ・リストの作成

セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

このセキュリティ・リストは、ワーカー・ロード・バランサに接続できるトラフィック(アプリケーションなど)を定義します。

この例では、ワーカー・ロード・バランサ・サブネット・セキュリティ・リストに次の入力を使用します。 これらのソースと宛先は例です; これらを自分のアプリケーション用に調整してください。

ノート:

コンテナ化されたアプリケーションの外部ロード・バランサ(「コンテナ化されたアプリケーションの公開」を参照)を作成する場合は、必ずそのロード・バランサ・サービスのフロントエンド・ポートをこのセキュリティ・リストに追加してください。

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: workerlb-seclist

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: workerlb-seclist

2つのイングレス・セキュリティ・ルール:

2つのイングレス・セキュリティ・ルール:

--ingress-security-rules

イングレス・ルール 1

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: kube_client_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 80

  • 説明: "Allow inbound traffic for applications."

イングレス・ルール 1

  • isStateless: false

  • source: kube_client_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 80

    • min: 80

  • description: "Allow inbound traffic for applications."

イングレス・ルール 2

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: kube_client_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 443

  • 説明: "Allow inbound traffic for applications."

イングレス・ルール 2

  • isStateless: false

  • source: kube_client_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 443

    • min: 443

  • description: "Allow inbound traffic for applications."

ワーカー・ロード・バランサ・サブネットの作成

サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

この例では、次の入力を使用してワーカー・ロード・バランサ・サブネットを作成します。 「フランネル・オーバーレイVCNの作成」で作成されたVCNのOCIDを使用します。 ワーカー・ロード・バランサ・サブネットを、VCNを作成したのと同じコンパートメントに作成します。

プライベートまたはパブリック・ワーカーのロード・バランサ・サブネットを作成します。 パブリック・クラスタで使用するパブリック・ワーカー・ロード・バランサ・サブネットを作成します。 プライベート・クラスタ内のアプリケーションを公開するには、プライベート・ワーカー・ロード・バランサ・サブネットを作成します。

表4-5 パブリック・ワーカー・ロード・バランサ・サブネットの作成

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: service-lb

  • CIDRブロック: workerlb_cidr

  • ルート表: リストから「public」を選択

  • パブリック・サブネット: ボックスのチェック

  • DNSホスト名:

    このサブネットでDNSホスト名を使用: ボックスのチェック

    • DNSラベル: servicelb

  • セキュリティ・リスト: リストから「workerlb-seclist」および「Default Security List for oketest-vcn」を選択

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: service-lb

  • --cidr-block: workerlb_cidr

  • --dns-label: servicelb

  • --prohibit-public-ip-on-vnic: false

  • --route-table-id: パブリック・ルート表のOCID

  • --security-list-ids: 「workerlb-seclist」セキュリティ・リストのOCIDsおよび「oketest-vcnのデフォルト・セキュリティ・リスト」セキュリティ・リスト

次のプライベート・サブネットの違いは、パブリック・ルート表のかわりにVCNプライベート・ルート表が使用されることです。

表4-6 プライベート・ワーカー・ロード・バランサ・サブネットの作成

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: service-lb

  • CIDRブロック: workerlb_cidr

  • ルート表: リストから「vcn_private」を選択

  • プライベート・サブネット: ボックスのチェック

  • DNSホスト名:

    このサブネットでDNSホスト名を使用: ボックスのチェック

    • DNSラベル: servicelb

  • セキュリティ・リスト: リストから「workerlb-seclist」および「Default Security List for oketest-vcn」を選択

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: service-lb

  • --cidr-block: workerlb_cidr

  • --dns-label: servicelb

  • --prohibit-public-ip-on-vnic: true

  • --route-table-id: 「vcn_private」ルート表のOCID

  • --security-list-ids: 「workerlb-seclist」セキュリティ・リストのOCIDsおよび「oketest-vcnのデフォルト・セキュリティ・リスト」セキュリティ・リスト

「フランネル・オーバーレイ」コントロール・プレーン・サブネットの作成

リストされた順序で次のリソースを作成します:

  1. コントロール・プレーン・セキュリティ・リスト

  2. コントロール・プレーン・サブネット

コントロール・プレーン・セキュリティ・リストの作成

セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

この例では、コントロール・プレーン・サブネット・セキュリティ・リストに次の入力を使用します。 kubernetes_api_portは、Kubernetes APIへのアクセスに使用されるポートです: ポート6443。 「VCNネイティブ・ポッド・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」も参照してください。 「フランネル・オーバーレイ・ネットワーキングのワークロード・クラスタ・ネットワーク・ポート」も参照してください。

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: kmi-seclist

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: kmi-seclist

6つのイングレス・セキュリティ・ルール:

6つのイングレス・セキュリティ・ルール:

--ingress-security-rules

イングレス・ルール 1

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: kube_client_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: kubernetes_api_port

  • 説明: "Allow inbound connections to the Kubernetes API server."

イングレス・ルール 1
  • isStateless: false

  • source: kube_client_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description:"Allow inbound connections to the Kubernetes API server."

イングレス・ルール 2
  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: kmilb_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: kubernetes_api_port

  • 説明: "Allow inbound connections from the control plane load balancer."

イングレス・ルール 2
  • isStateless: false

  • source: kmilb_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description: "Allow inbound connections from the control plane load balancer."

イングレス・ルール 3
  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: worker_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 1024-65535

  • 説明: "Allow inbound connections from worker nodes to the control plane."

イングレス・ルール 3
  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 65535

    • min: 1024

  • description: "Allow inbound connections from worker nodes to the control plane."

イングレス・ルール 4
  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: kmi_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: 1024-65535

  • 説明: "Allow inbound connections within the control plane."

イングレス・ルール 4
  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 65535

    • min: 1024

  • description: "Allow inbound connections within the control plane."

コントロール・プレーン・サブネットの作成

サブネットを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「サブネットの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

次の入力を使用して、コントロール・プレーン・サブネットを作成します。 「フランネル・オーバーレイVCNの作成」で作成されたVCNのOCIDを使用します。 VCNを作成したのと同じコンパートメントにコントロール・プレーン・サブネットを作成します。

NATプライベート・コントロール・プレーン・サブネットまたはVCNプライベート・コントロール・プレーン・サブネットを作成します。 VCN外部と通信するためのNATプライベート・コントロール・プレーン・サブネットを作成します。

重要:

このサブネットの名前は、正確に"control-plane"である必要があります。

表4-7 NATプライベート・コントロール・プレーン・サブネットの作成

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: control-plane

  • CIDRブロック: kmi_cidr

  • ルート表: リストから「nat_private」を選択

  • プライベート・サブネット: ボックスのチェック

  • DNSホスト名:

    このサブネットでDNSホスト名を使用: ボックスのチェック

    • DNSラベル: kmi

  • セキュリティ・リスト: リストから「kmi-seclist」と「Default Security List for oketest-vcn」を選択

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: control-plane

  • --cidr-block: kmi_cidr

  • --dns-label: kmi

  • --prohibit-public-ip-on-vnic: true

  • --route-table-id: 「nat_private」ルート表のOCID

  • --security-list-ids: 「kmi-seclist」セキュリティ・リストおよび「oketest-vcnのデフォルト・セキュリティ・リスト」セキュリティ・リストのOCIDs

次のプライベート・サブネットの違いは、NATプライベート・ルート表のかわりにVCNプライベート・ルート表が使用されることです。

表4-8 VCNプライベート・コントロール・プレーン・サブネットの作成

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: control-plane

  • CIDRブロック: kmi_cidr

  • ルート表: リストから「vcn_private」を選択

  • プライベート・サブネット: ボックスのチェック

  • DNSホスト名:

    このサブネットでDNSホスト名を使用: ボックスのチェック

    • DNSラベル: kmi

  • セキュリティ・リスト: リストから「kmi-seclist」と「Default Security List for oketest-vcn」を選択

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: control-plane

  • --cidr-block: kmi_cidr

  • --dns-label: kmi

  • --prohibit-public-ip-on-vnic: true

  • --route-table-id: 「vcn_private」ルート表のOCID

  • --security-list-ids: 「kmi-seclist」セキュリティ・リストおよび「oketest-vcnのデフォルト・セキュリティ・リスト」セキュリティ・リストのOCIDs

「フランネル・オーバーレイ」コントロール・プレーン・ロード・バランサ・サブネットの作成

リストされた順序で次のリソースを作成します:

  1. コントロール・プレーン・ロード・バランサ・セキュリティ・リスト

  2. コントロール・プレーン・ロード・バランサ・サブネット

コントロール・プレーンのロード・バランサ・セキュリティ・リストの作成

セキュリティ・リストを作成するには、「Oracle Private Cloud Applianceユーザーズ・ガイド」「セキュリティ・リストを使用したトラフィックの制御」にある「セキュリティ・リストの作成」の手順を使用します。 Terraform入力については、「例Terraformフランネル・オーバーレイ・ネットワーク・リソースのスクリプト」を参照してください。

コントロール・プレーン・ロード・バランサは、ポート6443のトラフィックを受け入れます。このガイドでは、kubernetes_api_portとも呼ばれます。 このセキュリティ・リストを調整して、ネットワークの実行場所からの接続のみを受け入れます。 ポート6443は、クラスタ・コントロール・プレーン・インスタンスおよびワーカー・インスタンスからの接続を受け入れる必要があります。

この例では、コントロール・プレーン・ロード・バランサ・サブネット・セキュリティ・リストに次の入力を使用します。

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: kmilb-seclist

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: kmilb-seclist

3つのイングレス・セキュリティ・ルール:

3つのイングレス・セキュリティ・ルール:

--ingress-security-rules

イングレス・ルール 1:

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: 253.255.0.0/16

    この値は必須です。 このCIDR値は変更できません。

  • IPプロトコル: TCP

    • 宛先ポート範囲: kubernetes_api_port

  • 説明: "Allow inbound connections to the control plane load balancer."

イングレス・ルール 1:

  • isStateless: false

  • source: 253.255.0.0/16

    この値は必須です。 このCIDR値は変更できません。

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description: "Allow inbound connections to the control plane load balancer."

イングレス・ルール 2:

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: kube_client_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: kubernetes_api_port

  • 説明: "Allow inbound connections to the control plane load balancer."

イングレス・ルール 2:

  • isStateless: false

  • source: kube_client_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description: "Allow inbound connections to the control plane load balancer."

イングレス・ルール 3:

  • ステートレス: ボックスのアンチェック

  • イングレスCIDR: vcn_cidr

  • IPプロトコル: TCP

    • 宛先ポート範囲: kubernetes_api_port

  • 説明: "Allow inbound connections to the control plane load balancer."

イングレス・ルール 3:

  • isStateless: false

  • source: vcn_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: kubernetes_api_port

    • min: kubernetes_api_port

  • description: "Allow inbound connections to the control plane load balancer."

コントロール・プレーンの・ロード・バランサ・サブネットの作成

サブネットを作成するには、「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プロパティ
  • 名前: control-plane-endpoint

  • CIDRブロック: kmilb_cidr

  • ルート表: リストから「public」を選択

  • パブリック・サブネット: ボックスのチェック

  • DNSホスト名:

    このサブネットでDNSホスト名を使用: ボックスのチェック

    • DNSラベル: kmilb

  • セキュリティ・リスト: リストから「kmilb-seclist」と「Default Security List for oketest-vcn」を選択

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: control-plane-endpoint

  • --cidr-block: kmilb_cidr

  • --dns-label: kmilb

  • --prohibit-public-ip-on-vnic: false

  • --route-table-id: パブリック・ルート表のOCID

  • --security-list-ids: 「kmilb-seclist」セキュリティ・リストおよび「oketest-vcnのデフォルト・セキュリティ・リスト」セキュリティ・リストのOCIDs

次のプライベート・サブネットの違いは、パブリック・ルート表のかわりにVCNプライベート・ルート表が使用されることです。 ニーズに応じて、かわりにLPGルート表またはDRGルート表を指定できます。

表4-10 プライベート・コントロール・プレーン・ロード・バランサ・サブネットの作成

コンピュートWeb UIプロパティ OCI CLIプロパティ
  • 名前: control-plane-endpoint

  • CIDRブロック: kmilb_cidr

  • ルート表: リストから「vcn_private」を選択

  • プライベート・サブネット: ボックスのチェック

  • DNSホスト名:

    このサブネットでDNSホスト名を使用: ボックスのチェック

    • DNSラベル: kmilb

  • セキュリティ・リスト: リストから「kmilb-seclist」と「Default Security List for oketest-vcn」を選択

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: control-plane-endpoint

  • --cidr-block: kmilb_cidr

  • --dns-label: kmilb

  • --prohibit-public-ip-on-vnic: true

  • --route-table-id: 「vcn_private」ルート表のOCID

  • --security-list-ids: 「kmilb-seclist」セキュリティ・リストおよび「oketest-vcnのデフォルト・セキュリティ・リスト」セキュリティ・リストのOCIDs