仮想ノードがあるクラスタのネットワーク・リソース構成の例

Kubernetes Engine (OKE)の使用時に仮想ノードを持つクラスタのネットワーク・リソースを構成する方法について学習します。

VCN

リソース
VCN
  • 名前: acme-dev-vcn
  • CIDRブロック: 10.0.0.0/16
  • DNS解決: 選択済
インターネット・ゲートウェイ
  • 名前: internet-gateway-0
NATゲートウェイ
  • 名前: nat-gateway-0
サービス・ゲートウェイ
  • 名前: service-gateway-0
  • サービス: Oracle Services Networkのすべての<region>サービス
DHCPオプション
  • DNSタイプ インターネットおよびVCNリゾルバに設定

サブネット

リソース
Kubernetes APIエンドポイントのパブリック・サブネット

名前: KubernetesAPIendpoint。次のプロパティを使用します:

  • タイプ: リージョン
  • CIDRブロック: 10.0.0.0/28
  • ルート表: routetable-KubernetesAPIendpoint
  • サブネット・アクセス: パブリック
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-KubernetesAPIendpoint
仮想ノードおよびポッドのプライベート・サブネット

名前: nodespods。プロパティは次のとおりです:

  • タイプ: リージョン
  • CIDRブロック: 10.0.10.0/19
  • ルート表: routetable-nodespods
  • サブネット・アクセス: プライベート
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-nodespods
サービス・ロード・バランサのパブリック・サブネット

名前: loadbalancers。プロパティは次のとおりです:

  • タイプ: リージョン
  • CIDRブロック: 10.0.20.0/24
  • ルート表: routetable-serviceloadbalancers
  • サブネット・アクセス: パブリック
  • DNS解決: 選択済
  • DHCPオプション: デフォルト
  • セキュリティ・リスト: seclist-loadbalancers

ルート表

リソース
パブリックKubernetes APIエンドポイント・サブネットのルート表

名前: routetable-KubernetesAPIendpoint。次のように定義されたルート・ルールを使用します:

  • インターネットへのトラフィックのルール:
    • 宛先CIDRブロック: 0.0.0.0/0
    • ターゲット・タイプ: インターネット・ゲートウェイ
    • ターゲット: internet-gateway-0
プライベート仮想ノードおよびポッド・サブネットのルート表

名前: routetable-nodespods。次のように定義された2つのルート・ルールを使用します:

  • インターネットへのトラフィックのルール:
    • 宛先CIDRブロック: 0.0.0.0/0
    • ターゲット・タイプ: NATゲートウェイ
    • ターゲット: nat-gateway-0
  • OCIサービスへのトラフィックのルール:
    • 宛先: Oracle Services Networkのすべての<region>サービス
    • ターゲット・タイプ: サービス・ゲートウェイ
    • ターゲット: service-gateway-0
パブリック・ロード・バランサ・サブネットのルート表

名前: routetable-serviceloadbalancers。次のように定義されたルート・ルールを使用します:

  • 宛先CIDRブロック: 0.0.0.0/0
  • ターゲット・タイプ: インターネット・ゲートウェイ
  • ターゲット・インターネット・ゲートウェイ: internet-gateway-0

パブリックKubernetes APIエンドポイント・サブネットのセキュリティ・リスト・ルール

seclist-KubernetesAPIendpointセキュリティ・リストには、次に示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール:

状態 ソース プロトコル/宛先ポート 説明
ステートフル 0.0.0.0/0 TCP/6443 Kubernetes APIエンドポイントへの外部アクセス。
ステートフル 10.0.10.0/19 (ノード/ポッドCIDR) TCP/6443 仮想ノードからKubernetes APIエンドポイントへの通信。
ステートフル 10.0.10.0/19 (ノード/ポッドCIDR) TCP/12250 仮想ノードからコントロール・プレーンへの通信。
ステートフル 10.0.10.0/19 (ノード/ポッドCIDR) ICMP 3,4 パス検出。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル Oracle Services Networkのすべての<region>サービス TCP/443 Kubernetes APIエンドポイントがリージョナルOCIサービス・エンドポイントと通信できるようにします。
ステートフル 10.0.10.0/19 (ノード/ポッドCIDR) TCP/すべて Kubernetes APIエンドポイントが仮想ノードと通信できるようにします。
ステートフル 10.0.10.0/19 (ノード/ポッドCIDR) ICMP 3,4 パス検出。

プライベート・ノード/ポッド・サブネットのセキュリティ・リスト・ルール

seclist-nodespodsセキュリティ・リストには、次に示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル 10.0.10.0/19 すべて/すべて ポッド間通信
ステートフル 10.0.10.0/19 ALL / 30000-327767 ロード・バランサからポッドへのトラフィック、および外部トラフィック・ポリシー=localのヘルス・チェック・ノード・ポート・トラフィック
ステートフル 10.0.10.0/19 TCP/UDP/10256 ロード・バランサから外部トラフィック・ポリシー= クラスタのヘルス・チェック・ポートへのトラフィック
ステートフル 10.0.0.0/28 ICMP 3,4 APIサーバーからのパス検出。
ステートフル 10.0.0.0/28 TCP/すべて APIサーバーと仮想ノード間の通信。

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.10.0/19 (ノード/ポッドCIDR) すべて/すべて ポッド間通信
ステートフル 10.0.0.0/28 TCP/6443 仮想ノード/ポッドからAPIサーバーへの通信。
ステートフル 10.0.0.0/28 TCP/12250 仮想ノード/ポッドからAPIサーバーへの通信。
ステートフル 10.0.0.0/28 ICMP 3,4 APIサーバーへのパス検出。
ステートフル Oracle Services Networkのすべての<region>サービス TCP/443 仮想ノード/ポッドからリージョン別のOCIサービス・エンドポイントへの通信。
ステートフル 0.0.0.0/0 ICMP 3,4 仮想ノード/ポッドからKubernetesコントロール・プレーンへのアクセス。
ステートフル 0.0.0.0/0 すべて/すべて インターネットへのポッド・アクセス

パブリック・ロード・バランサ・サブネットのセキュリティ・リスト・ルール

seclist-loadbalancersセキュリティ・リストには、次に示すイングレス・ルールとエグレス・ルールがあります。

イングレス・ルール:

状態: ソース プロトコル/宛先ポート 説明:
ステートフル

0.0.0.0/0

TCP / 443/80

リスナー・ポートが80/443であると仮定したロード・バランサへの受信トラフィック

エグレス・ルール:

状態: 宛先 プロトコル/宛先ポート 説明:
ステートフル 10.0.10.0/19 (ノード/ポッドCIDR) ALL / 30000-327767 external-traffic-policy=localのポッドおよびヘルス・チェック・ノード・ポート・トラフィックに対するポッドおよびヘルス・チェック・ノード・ポート・トラフィック
ステートフル 10.0.10.0/19 (ノード/ポッドCIDR) TCP/UDP/10256 external-traffic-policy=clusterのヘルス・チェック・ポートへのトラフィック