GDC ネットワークを運用する

Kubernetes クラスタ リソース、API、デフォルトの Kubernetes Pod ネットワークに加えて、GDC では、GDC ゾーンに追加のネットワークをプロビジョニングして、ネットワークに接続できます。たとえば、ユーザー プレーン機能(UPF)を使用している場合、無線アクセス ネットワーク(RAN)とデータ プレーン ネットワークを作成し、それぞれに UPF Pod に接続する異なるサブネットを設定できます。

Edge ネットワーク リソースの詳細については、ネットワーキングをご覧ください。

EdgeNetwork 個のブループリント

このブループリントには、ユーザーが GDC ゾーンに追加のネットワークをプロビジョニングして構成し、ネットワークに接続できるようにするための複数のカスタム リソースが含まれています。たとえば、運用、管理、メンテナンス(OAM)ネットワークとシグナル ネットワークを作成し、それぞれにネットワーク機能 Pod のセカンダリ インターフェースに接続する複数の異なるサブネットを作成できます。EdgeNetwork ブループリントでは、次のリソースが使用されます。

  • EdgeNetwork: GDC ゾーンの仮想プライベート ネットワーク。パケットは EdgeNetwork 内で個別にルーティングされます。
  • EdgeRouter: EdgeNetwork の BGP 関連パラメータを構成する GDC ゾーンの論理リソース。
  • EdgeSubnet: GDC ゾーンの L2 ドメイン、L3 サブネット。EdgeSubnet は、ネットワーク内の関連付けられた VLAN ID を持つ VLAN として作成されます。
  • EdgeInterconnectAttachment: GDC ゾーンルーターとプロバイダ エッジ(PE)ルーターの 1 つの間に新しい仮想リンクを構成します。アタッチメントを使用して、ネットワーク上の仮想ルーティングと転送(VRF)などのネットワークに EdgeNetwork リソースを接続できます。

デプロイを作成するときに、setters.yaml ファイルの次のパラメータを使用してブループリントをカスタマイズできます。

パラメータ 説明
project-id EdgeNetwork 関連リソースを管理するプロジェクトのプロジェクト ID。Edge をこの特定のプロジェクト ID にリンクする必要があります。
network-name EdgeNetwork リソースの名前。
location GDC ゾーンの Google Cloud リージョン。例: us-west-1
zone EdgeNetwork を作成する GDC ゾーン。
mtu EdgeNetwork の IP 最大伝送単位(MTU)。有効なオプションは 15009000 です。
interconnect-attachment-name インターコネクト アタッチメントの名前。
interconnect-attachment-vlanid 相互接続アタッチメントに割り当てられたパッケージ タグ付き VLAN ID。
interconnect-attachment-interface-ipv4cidr EdgeInterconnectAttachment リソースに接続する EdgeRouter インターフェースの IP アドレス。
interconnect-attachment-bgppeer-ipv4cidr BGP セッションの GDC ゾーン ピア側の IPv4 アドレス。
subnet-name EdgeSubnet リソースの名前。
subnet-vlan-id EdgeSubnet リソースに割り当てられた VLAN ID。
subnet-ipv4cidr EdgeSubnet リソースの IPv4 サブネット。クラスレス ドメイン間ルーティング(CIDR)の最初の IP アドレスは、サブネット ゲートウェイとして予約されています。
subnet-bgppeer-ipv4cidr ピア側の BGP の IP アドレス。IP アドレスは、EdgeSubnet リソースと同じサブネット内に存在する必要があります。

2 つのサブネットでネットワークを構成する

このセクションでは、2 つのサブネットを持つネットワークを構成するオペレーションについて説明します。たとえば、ネットワーク ran-network には ranaccess-1ranaccess-2 の 2 つのサブネットがあります。上り接続の場合、ran-network は相互接続 cbae0a11-5d97-4bd6-8a09-e5133bb541caa52e2c74-84f2-4a6d-8cd2-7c5b0fc1c031 の 2 つの相互接続アタッチメントを構成します。

EdgeNetwork ブループリントをインポートする

  1. ナビゲーション メニューで [ブループリント] をクリックします。
  2. プルダウン メニューから、優先するオーケストレーション クラスタを選択します。
  3. [ライブラリからインポート] をクリックします。
  4. ブループリント [GDCE EdgeNetwork setup] を選択します。
  5. [ブループリントを追加] をクリックします。
  6. 次のページで、ブループリントの名前を指定します。たとえば、GDCE EdgeNetwork の設定などです。
    1. 必要に応じて、ラベルを追加します。
  7. [作成] をクリックします。ブループリントが [ブループリントの下書き] リストに表示されます。

ブループリントを編集する

  1. ナビゲーション メニューで、[ブループリント] > [ブループリントのドラフト] をクリックします。
  2. 編集するブループリントを選択します。ブループリント エディタが開きます。
  3. 仕様に合わせてリソースを編集します。
  4. [ファイルを保存] をクリックします。

ブループリントを提案する

  1. ナビゲーション メニューで、[ブループリント] > [ブループリントのドラフト] をクリックします。ブループリント エディタが表示されます。
  2. [提案] をクリックします。ブループリントのステータスが [提案済み] に更新されます。

ブループリントを承認する

  1. ナビゲーション メニューで、[ブループリント] > [ブループリントのドラフト] をクリックします。
  2. ブループリント名の横にある [アクション] アイコンをクリックします。
  3. [承認] を選択します。ブループリントが [承認済みブループリント] に表示されます。

相互接続情報を取得する

相互接続情報を取得する手順は次のとおりです。

  1. 環境変数を設定してエクスポートします。

    export networkName=NETWORK_NAME
    export MACHINES_LOCATION=MACHINE_LOCATION # value where machines or rack is located. Can be different from cluster location.
    export MACHINES_PROJECT_ID=PROJECT_ID # project in which machines or rack is registered. Can be different from cluster project
    export EDGE_ZONE=ZONE # Edge zone in which machines or rack is located
    

    次のように置き換えます。

    • NETWORK_NAME: ネットワークの名前。
    • MACHINE_LOCATION: マシンまたはラックのロケーション。この値はクラスタのロケーションと異なる場合があります。
    • PROJECT_ID: マシンまたはラックが登録されているプロジェクト。この値はクラスタ プロジェクトと異なる場合があります。
    • ZONE: マシンまたはラックが配置されているエッジゾーン。
  2. 相互接続情報を取得します。

    gcloud alpha edge-cloud networking interconnects list --zone=$EDGE_ZONE --location=$MACHINES_LOCATION --project=$MACHINES_PROJECT_ID
    

    出力は次のようになります。ネットワークとの相互接続アタッチメントに適用する相互接続の名前と物理ポートをメモします。

    NAME UUID
    DEVICECLOUDRESOURCENAME
    PHYSICALPORTS
    cbae0a11-5d97-4bd6-8a09-e5133bb541ca cbae0a11-5d97-4bd6-8a09-e5133bb541ca projects/81907970660/locations/us-central1-edge-den8/switches/et19.den97
    
    HundredGigE0/0/0/0,HundredGigE0/0/0/23
    a52e2c74-84f2-4a6d-8cd2-7c5b0fc1c031 a52e2c74-84f2-4a6d-8cd2-7c5b0fc1c031 projects/81907970660/locations/us-central1-edge-den8/switches/et19.den97 HundredGigE0/0/0/1,HundredGigE0/0/0/22
    37e5da97-1a3f-4935-9d9b-0a8cea589644 37e5da97-1a3f-4935-9d9b-0a8cea589644 projects/81907970660/locations/us-central1-edge-den8/switches/et20.den97 HundredGigE0/0/0/0,HundredGigE0/0/0/23
    71b54ef5-6b12-4b03-b8ce-eb88196f8a93 71b54ef5-6b12-4b03-b8ce-eb88196f8a93 projects/81907970660/locations/us-central1-edge-den8/switches/et20.den97 HundredGigE0/0/0/1,HundredGigE0/0/0/22
    

EdgeNetwork デプロイ

EdgeNetwork デプロイを作成する

  1. ナビゲーション メニューで、[ブループリント] > [承認済みブループリント] をクリックします。
  2. デプロイする EdgeNetwork ブループリントをクリックします。
  3. [デプロイメントの作成] をクリックします。
  4. デプロイの名前を指定します。
  5. [デプロイメントの作成] をクリックします。デプロイは [下書きのデプロイ] に表示されます。

EdgeNetwork デプロイを編集する

  1. ナビゲーション メニューで [ブループリント] をクリックします。
  2. 編集する EdgeNetwork ブループリントをクリックします。デプロイ エディタが表示されます。
  3. setters.yaml ファイルを編集します。ファイル内の各フィールドの詳細については、EdgeNetwork ブループリントをご覧ください。次の setters.yaml ファイルの例は、完全な構成を示しています。

    apiVersion: v1
    kind: ConfigMap
    metadata: # kpt-merge: /setters
      name: setters
      annotations:
        config.kubernetes.io/local-config: "true"
        internal.kpt.dev/upstream-identifier:'|ConfigMap|default|setters'
    data:
      # The project managing the GDC Edge machines.
      project-id: tna-testing-01
      # Name of the network
      network-name: ranprod
      # Location in which to create the resources
      location: us-central1
      # Zone to create in the resources
      zone: us-central1-edge-den8
      # Details of subnets for southbound peering
      # Details of subnet 1
      # Name of the subnet
      subnet1-name: ranaccess-prod1
      # vlanId for the subnet
      subnet1-vlanid: 2142
      # ipv4cidr for the subnet
      subnet1-ipv4cidr: 10.142.0.0/24
      # ipv4cidr for the subnet bgppeer
      subnet1-bgppeer-ipv4cidr: 10.142.0.0/24
      # Details of subnets for southbound peering
      # Details of subnet 1
      # Name of the subnet
      subnet2-name: ranaccess-prod2
      # vlanId for the subnet
      subnet2-vlanid: 2132
      # ipv4cidr for the subnet
      subnet2-ipv4cidr: 10.132.0.0/24
      # ipv4cidr for the subnet bgppeer
      subnet2-bgppeer-ipv4cidr: 10.132.0.0/24
      # Interconnect attachments for northbound peering
      # Details of interconnect attachment 1
      # Name of the interconnect
      interconnect1-name: cbae0a11-5d97-4bd6-8a09-e5133bb541ca
      # Name of the interconnect attachment
      interconnect1-attachment-name: prod1-ran
      # valnId of the interconnect attachment
      interconnect1-attachment-vlanid: 2010
      # ip4vcidr for the interconnect attachment interface
      interconnect1-attachment-interface-ipv4cidr:10.65.128.17/31  # ipv4cidr for the interconnect attachment bgppeer
      interconnect1-attachment-bgppeer-ipv4cidr: 10.65.128.16/31
      # Interconnect attachments for northbound peering
      # Details of interconnect attachment 1
      # Name of the interconnect
      interconnect2-name: a52e2c74-84f2-4a6d-8cd2-7c5b0fc1c031
      # Name of the interconnect attachment
      interconnect2-attachment-name: prod2-ran
      # valnId of the interconnect attachment
      interconnect2-attachment-vlanid: 2020
      # ip4vcidr for the interconnect attachment interface
      Interconnect2-attachment-interface-ipv4cidr:10.65.128.13/31 # ipv4cidr for the interconnect attachment bgppeer
      interconnect2-attachment-bgppeer-ipv4cidr: 10.65.128.12/31
    
  4. [ファイルを保存] をクリックします。

EdgeNetwork デプロイを適用する

  1. ナビゲーション メニューで [デプロイ] をクリックします。
  2. 適用する EdgeNetwork デプロイを選択します。
  3. [デプロイ] をクリックします。
  4. デプロイを確認します。デプロイが [適用されたデプロイ] に表示されます。

EdgeNetwork ブループリントを検証する

EdgeNetwork リソースの作成ステータスを確認する手順は次のとおりです。

kubectl

  1. kubectl CLI を使用するオーケストレーション クラスタの kube-credentials を生成します。

    gcloud anthos config controller get-credentials ORCHESTRATION_CLUSTER_NAME
    

    ORCHESTRATION_CLUSTER_NAME は、オーケストレーション クラスタの名前に置き換えます。

  2. リソースが処理されるまで 30 ~ 40 分待ちます。

  3. リソースのステータスを表示します。

    kubectl describe EdgeNetwork ${networkName} --namespace=tna-config-control
    

    出力は次のようになります。status.conditionsmessagereason をメモします。

    Name: ranprod
    Namespace: tna-config-control
    ....
    API Version: config.cloud.google.com/v1alpha1
    Kind: EdgeNetwork
    ....
    Spec:
      Mtu: 9000
      Network Location: us-central1
      Network Zone: us-central1-edge-den8
    Status:
      Conditions:
        Last Transition Time: 2023-03-23T10:08:40Z
        Message: The resource is up to date
        Reason: UpToDate
        Status: True
        Type: Ready
      Create Time: 2023-03-23T10:08:36.582479587Z
      Self Link:
      //gkehub.googleapis.com/v1/projects/tna-testing-01/locations/us-central1/zone s/us-central1-edge-den8/networks/ranprod
      Update Time: 2023-03-23T10:08:40.010036655Z
    Events: <none>
    
  4. 作成した Edge Router の情報を取得します。

    kubectl describe EdgeRouter router-${networkName} --namespace=tna-config-control
    

    出力は次のようになります。

    Name: router-ranprod
    Namespace: tna-config-control
    ...
    API Version: config.cloud.google.com/v1alpha1
    Kind: EdgeRouter
    ....
    Spec:
    .....
      Network:
        External: projects/tna-testing-01/locations/us-central1/zones/us-central1-edge-den8/net works/ranprod
        Object Ref:
          API Group:
          Kind:
          Name:
          Namespace:
      Router Location: us-central1
      Router Zone: us-central1-edge-den8
    Status:
      Bgp Peer:
        Interface: inf-ranaccess-prod1
        Name: 2142-bgp0
        Peer Asn: 3300
        peerIpv4Cidr: 10.142.0.0/24
        Interface: inf-ranaccess-prod2
        Name: 2132-bgp0
        Peer Asn: 3300
        peerIpv4Cidr: 10.132.0.0/24
        Interface: vlan-2010-prod1-ran
        interfaceIpv4Cidr: 10.65.128.17/31
        Name: vlan-2010-bgp0
        Peer Asn: 577
        peerIpv4Cidr: 10.65.128.16/31
        Interface: vlan-2020-prod2-ran
        interfaceIpv4Cidr: 10.65.128.13/31
        Name: vlan-2020-bgp1
        Peer Asn: 577
        peerIpv4Cidr: 10.65.128.12/31
      Conditions:
        Last Transition Time: 2023-03-23T10:47:12Z
        Message: The resource is up to date
        Reason: UpToDate
        Status: True
        Type: Ready
      Create Time: 2023-03-23T10:08:38.995964419Z
      Interface:
        Name: inf-ranaccess-prod1
        Subnetwork:
          API Group: config.cloud.google.com
          Kind: EdgeSubnet
          Name: ranaccess-prod1
          Namespace: tna-config-control
        Name: inf-ranaccess-prod2
        Subnetwork:
          API Group: config.cloud.google.com
          Kind: EdgeSubnet
          Name: ranaccess-prod2
          Namespace: tna-config-control
        ipv4Cidr: 10.65.128.17/31
        Linked Interconnect Attachment:
          API Group: config.cloud.google.com
          Kind: EdgeInterconnectAttachment
          Name: prod1-ran
          Namespace: tna-config-control
        Name: vlan-2010-prod1-ran
        ipv4Cidr: 10.65.128.13/31
        Linked Interconnect Attachment:
          API Group: config.cloud.google.com
          Kind: EdgeInterconnectAttachment
          Name: prod2-ran
          Namespace: tna-config-control
        Name: vlan-2020-prod2-ran
      Self Link: //gkehub.googleapis.com/v1/projects/tna-testing-01/locations/us-central1/zone s/us-central1-edge-den8/routers/router-ranprod
      State: STATE_RUNNING
      Update Time: 2023-03-23T10:36:58.126306756Z
    Events: <none>
    

gcloud

  • 作成した Edge Router の情報を取得します。

    gcloud edge-cloud networking routers describe router-${networkName} \ --zone=$EDGE_ZONE \
    --location=$LOCATION \
    --project=GDCE_MACHINES_PROJECT
    

    GDCE_MACHINES_PROJECT は、GDC マシンが登録されているプロジェクトのプロジェクト ID に置き換えます。

    User Plane Function(UPF)のネットワークを構成するには、ネットワークごとにこの手順を繰り返します。

EdgeNetwork デプロイを削除する

  1. ナビゲーション メニューで、[デプロイ] > [適用されたデプロイ] をクリックします。
  2. 削除する EdgeNetwork ブループリントを選択します。
  3. [削除] をクリックします。
  4. 削除を確認します。
  5. 削除が処理されるまで 30 ~ 45 分ほど待ちます。
  6. リソースが削除されたことを確認するには、EdgeNetwork デプロイを編集するの手順を繰り返します。