GDC 네트워크 운영

Kubernetes 클러스터 리소스, API, 기본 Kubernetes 포드 네트워크 외에도 GDC를 사용하면 GDC 영역에서 추가 네트워크를 프로비저닝하고 네트워크와 연결할 수 있습니다. 예를 들어 사용자 평면 기능 (UPF)을 사용하는 경우 UPF 포드에 연결되는 서로 다른 서브넷이 있는 무선 액세스 네트워크 (RAN)와 데이터 평면 네트워크를 만들 수 있습니다.

Edge Network 리소스에 대한 자세한 내용은 네트워킹을 참고하세요.

EdgeNetwork 청사진

이 청사진에는 사용자가 GDC 영역에서 추가 네트워크를 프로비저닝하고 구성하여 네트워크에 연결할 수 있도록 하는 여러 맞춤 리소스가 포함되어 있습니다. 예를 들어 작업, 관리, 유지관리 (OAM) 네트워크와 신호 네트워크를 만들 수 있습니다. 각 네트워크에는 네트워크 기능 포드의 보조 인터페이스에 연결되는 서로 다른 여러 서브넷이 있습니다. EdgeNetwork 청사진에는 다음 리소스가 사용됩니다.

  • EdgeNetwork: GDC 영역의 가상 사설망입니다. 패킷은 EdgeNetwork 내에서 독립적으로 라우팅됩니다.
  • EdgeRouter: EdgeNetwork의 BGP 관련 매개변수를 구성하는 GDC 영역의 논리적 리소스입니다.
  • EdgeSubnet: GDC 영역의 L2 도메인, L3 서브넷 EdgeSubnet는 네트워크에서 연결된 VLAN ID가 있는 VLAN으로 생성됩니다.
  • EdgeInterconnectAttachment: GDC 영역 라우터와 공급자 에지(PE) 라우터 중 하나 간에 새 가상 링크를 구성합니다. 연결을 사용하여 네트워크의 EdgeNetwork 리소스를 가상 라우팅 및 포맷팅 (VRF)과 같은 네트워크에 연결할 수 있습니다.

배포를 만들 때 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)입니다. 유효한 옵션은 1500~9000입니다.
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개인 네트워크 구성

이 섹션에서는 서브넷이 두 개인 네트워크를 구성하는 작업을 다룹니다. 예를 들어 ran-network 예시 네트워크에는 ranaccess-1ranaccess-2의 두 서브넷이 있습니다. 북쪽 연결의 경우 ran-network는 상호 연결 cbae0a11-5d97-4bd6-8a09-e5133bb541caa52e2c74-84f2-4a6d-8cd2-7c5b0fc1c031에 대해 두 개의 상호 연결 연결을 구성합니다.

EdgeNetwork 청사진 가져오기

  1. 탐색 메뉴에서 블루프린트를 클릭합니다.
  2. 드롭다운 메뉴에서 원하는 오케스트레이션 클러스터를 선택합니다.
  3. 보관함에서 가져오기를 클릭합니다.
  4. GDCE EdgeNetwork 설정 청사진을 선택합니다.
  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
    

    출력은 다음과 비슷합니다. 네트워크와 함께 Interconnect 연결에 적용할 Interconnect의 이름과 물리적 포트를 기록해 둡니다.

    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.conditions에서 messagereason을 확인합니다.

    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 라우터의 정보를 가져옵니다.

    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 라우터의 정보를 가져옵니다.

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

    GDCE_MACHINES_PROJECT를 GDC 머신이 등록된 위치의 프로젝트 ID로 바꿉니다.

    사용자 평면 기능 (UPF)의 네트워크를 구성하려면 각 네트워크에 대해 이 단계를 반복합니다.

EdgeNetwork 배포 삭제

  1. 탐색 메뉴에서 배포 > 적용된 배포를 클릭합니다.
  2. 삭제할 EdgeNetwork 청사진을 선택합니다.
  3. 삭제를 클릭합니다.
  4. 삭제를 확인합니다.
  5. 삭제가 처리될 때까지 30~45분 정도 기다립니다.
  6. 리소스를 삭제했는지 확인하려면 EdgeNetwork 배포 수정의 단계를 반복하세요.