2.8. Menyediakan koneksi GDC jaringan OI

Perkiraan waktu penyelesaian: 6 - 8 jam

Pemilik komponen yang dapat dioperasikan: PNET

2.8.1. Ringkasan

Langkah proses ini menyediakan file konfigurasi yang memungkinkan jaringan Operations Suite Infrastructure (OI) dan GDC menjalin konektivitas.

Langkah-langkah ini memerlukan akses ke beberapa file GDC serta konektivitas ke cluster admin root instance GDC agar informasi jaringan runtime dapat diambil.

2.8.2. Sebelum memulai

Pada tahap proses deployment ini, hal berikut harus terpenuhi:

  1. Kedua switch OIR telah dikabelkan, diaktifkan, diupgrade ke versi yang sesuai, dan telah menerapkan konfigurasi dasar dan ACL.

  2. Kedua firewall OIF telah dikabelkan, diaktifkan, diupgrade ke versi yang sesuai, diaktifkan untuk mode FIPS-CC, dan telah menerapkan konfigurasi dasar.

  3. Untuk menyelesaikan penyediaan konektivitas GDC secara keseluruhan, instance GDC harus menyelesaikan bootstrap jaringan dan berpindah dari cluster jenis ke cluster admin root.

2.8.3. Persiapan

Siapkan lingkungan untuk langkah-langkah berikut dengan mengumpulkan informasi berikut dan menetapkan variabel lingkungan.

OI dapat terhubung dengan dua cara: secara lokal atau dari jarak jauh. Koneksi lokal menghubungkan OI ke GDC secara langsung menggunakan koneksi fiber antar-rak di pusat data yang sama. Koneksi jarak jauh terhubung ke lokasi yang berbeda menggunakan transportasi jarak jauh. Spesifikasi ini dapat diberikan dalam file interconnect.yaml, yang diperlukan untuk menyediakan konfigurasi interkoneksi GDC. File ini berisi semua informasi yang diperlukan untuk mengonfigurasi interkoneksi GDC.

2.8.3.1. Spesifikasi YAML Interconnect

Atribut
Deskripsi
Contoh
zones
[ ] map
Informasi tentang sel GDC yang harus dihubungkan oleh deployment OI.

Untuk terhubung ke daftar sel GDC,
tentukan daftar zones dengan informasi setiap sel GDC di setiap zona. Opsi zona
Contoh:
zones:
- zoneName: kb
- uplinkSpeed: 10
localInstanceIDs: 2

remoteInstanceIDs:
- 1
- cellCfg: path/to/cellcfg

- zoneName: ah
- uplinkSpeed: 100
localInstanceIDs: 3

- cellCfg: path/to/cellcfg

2.8.3.2. Opsi zona

Membawa informasi tentang sel GDC dalam file interconnect.yaml:

Atribut
Deskripsi
Penggunaan
zoneName
string
Singkatan sel GDC yang perlu dihubungkan dengan deployment OI.
zones:
- zoneName: kb
uplinkSpeed
uint32
(Opsional) Memberikan kecepatan uplink koneksi: (10 atau 100). Nilai:10, 100
Default: 10

uplinkSpeed: 100
localInstance
int
InstanceID situs deployment OI dari file ocit.yaml.
Koneksi lokal menghubungkan situs Operations Suite Infrastructure Core Rack (OIR) ke GDC secara langsung menggunakan koneksi fiber antar-rak di pusat data yang sama.
zones:
- zoneName: kb
localInstanceIDs: 1
remoteInstance
[ ] int
InstanceID(s) situs deployment OI dari file ocit.yaml.
Koneksi jarak jauh terhubung ke satu atau beberapa lokasi berbeda menggunakan transportasi jarak jauh. Daftar nilai remoteInstance dapat diberikan, sehingga konfigurasi untuk semua situs OIR dibuat untuk terhubung ke sel GDC tertentu.
zones:
- zoneName: kb
remoteInstanceIDs:
- 1



zones:
- zoneName: kb
remoteInstanceIDs:
- 1

- 2

- 3



cellCfg
string
Jalur konfigurasi sel GDC, yang berisi semua informasi tentang interkoneksi. Parameter ini akan digunakan untuk membuat semua konfigurasi interkoneksi untuk OIR.\ Jika `cellCfg` tidak disediakan dalam file interconnect.yaml, alat occonfig menggunakan Kubernetes API di bootstrapper sel GDC untuk mengambil informasi interkoneksi jika `zoneName` cocok dengan singkatan sel GDC.
zones:
- cellCfg: /path/to/cellcfg

Jika ini adalah koneksi lokal, konfigurasi file interconnect.yaml sebagai:

zones:
  - zoneName: ah
    uplinkSpeed: 100
    localInstanceID: 1
    cellCfg: /path/to/cellcfg

Jika ini adalah koneksi jarak jauh, konfigurasi file interconnect.yaml sebagai:

zones:
  - zoneName: ah
    uplinkSpeed: 100
      remoteInstanceIDs:
      - 2
    cellCfg: /path/to/cellcfg

Untuk deployment OI multi-situs, tentukan file interconnect.yaml sebagai:

zones:
  - zoneName: ah
    uplinkSpeed: 100
    localInstanceID: 1
    remoteInstanceIDs:
      - 2
    cellCfg: /path/to/cellcfg

2.8.3.3. Opsi WAN

Tabel berikut mencakup informasi tentang L3-WAN dalam file interconnect.yaml.

Jika Anda menyediakan konfigurasi L3-WAN, pastikan konfigurasi dasar yang dihasilkan mengaktifkan tanda fitur L3-WAN, dan mendeklarasikan ASN wan-transit.

Atribut Jenis Deskripsi
wanName string Nama L3-WAN yang terhubung ke OIC. Hal ini digunakan untuk deskripsi dalam antarmuka dan hubungan tetangga BGP.
operationsCIDRs [ ] CIDR Kumpulan blok CIDR yang diharapkan oleh WAN L3 dan diizinkan oleh OIC. Hal ini membantu menyiapkan koneksi antara NOC pelanggan dan OC-WORKSTATIONS.
instance Konfigurasi setiap instance yang perlu terhubung ke L3-WAN.
instanceID int ID instance OIC yang konfigurasinya akan dibuat untuk terhubung ke L3-WAN yang disediakan.
bgp Konfigurasi BGP L3-WAN.
asn int ASN BGP node PE L3-WAN untuk menyiapkan koneksi eBGP.
perangkat Konfigurasi khusus untuk setiap switch OCCORE.
deviceName string Nama perangkat, digunakan dalam deskripsi. Harus sama dengan nama file konfigurasi yang dihasilkan dari file ocit.yaml (ocit config generation).
uplink Konfigurasi khusus untuk port yang terhubung ke node PE L3-WAN.
uplinkName string Nama antarmuka yang digunakan untuk deskripsi antarmuka.
bgpPassword string Sandi BGP untuk peering dalam teks biasa.
ip string Alamat IPv4 port lokal yang terhubung ke node PE L3-WAN.
gateway string Alamat IPv4 port jarak jauh yang terhubung ke node PE, juga digunakan untuk alamat tetangga BGP.
subnet string Definisi subnet antarmuka yang terhubung ke node PE.
port int Nomor port fisik pada switch OCCORE yang digunakan untuk terhubung ke node PE.
subinterface int ID subantarmuka (tag dot1q) yang digunakan di atas port fisik (jika ada).

2.8.3.3.1. Contoh konfigurasi

Contoh berikut menunjukkan file interconnect.yaml tempat Operations Suite Infrastructure Core Rack (OIR) melakukan peering dengan L3-WAN, dengan dua uplink di occoresw01 dan satu uplink di occoresw02:

zones:
  - zoneName: kb
    uplinkSpeed: 10
    localInstanceID: 1
    cellCfg: /path/to/cellcfg
wan:
  - wanName:L3WANName
    operationsCIDRs:
      - ipFamily: IPv4
        ipv4: 172.22.48.0/24
      - ipFamily: IPv4
        ipv4: 172.22.49.0/24
      - ipFamily: IPv4
        ipv4: 172.22.50.0/24
      - ipFamily: IPv4
        ipv4: 172.22.51.0/24
    instances:
    - instanceID: 1
      bgp:
        asn: 65515
      devices:
        - deviceName: occoresw101
          uplinks:
          - uplinkName: AA
            bgpPassword: admin!123
            numberedIpGroup:
              ipFamily: IPv4
              ipv4:
                ip: 10.1.0.1
                subnet:
                  gateway: 10.1.0.0
                  subnet: 10.1.0.0/31
            port:
              port: 33
          - uplinkName: AB
            bgpPassword: admin!123
            numberedIpGroup:
              ipFamily: IPv4
              ipv4:
                ip: 10.1.0.3
                subnet:
                  gateway: 10.1.0.2
                  subnet: 10.1.0.2/31
            port:
              port: 34
              subinterface: 100
        - deviceName: occoresw102
          uplinks:
          - uplinkName: AC
            bgpPassword: admin!123
            numberedIpGroup:
              ipFamily: IPv4
              ipv4:
                ip: 10.2.0.3
                subnet:
                  gateway: 10.2.0.2
                  subnet: 10.2.0.2/31
            port:
              port: 35

2.8.4. Buat Konfigurasi Switch

Langkah-langkah ini menghasilkan konfigurasi patch untuk diterapkan ke perangkat jaringan agar dapat menyediakan konektivitas ke GDC.

Buat konfigurasi tombol:

occonfigtool generate cell config -c /path/to/interconnect.yaml -o path/to/ocit.yaml

Tindakan ini akan menghasilkan file konfigurasi berikut untuk setiap situs:

File Konfigurasi Perangkat Fungsi
occoresw101.incremental occoresw101 Konfigurasi untuk menerapkan patch pada perangkat agar dapat terhubung ke instance GDC
occoresw101.acl occoresw101 Konfigurasi untuk menambal ACL untuk penegakan traffic dengan jaringan GDC.
occoresw102.incremental occoresw102 Konfigurasi untuk menerapkan patch pada perangkat agar dapat terhubung ke instance GDC
occoresw102.acl occoresw102 Konfigurasi untuk menambal ACL untuk penegakan traffic dengan jaringan GDC.
ocsw101.incremental ocs1w01 Konfigurasi untuk menerapkan patch pada perangkat agar dapat terhubung ke instance GDC
ocsw101.acl ocsw101 Konfigurasi untuk menambal ACL untuk penegakan traffic dengan jaringan GDC.
ocsw102.incremental ocsw102 Konfigurasi untuk menerapkan patch pada perangkat agar dapat terhubung ke instance GDC
ocsw102.acl ocsw102 Konfigurasi untuk menambal ACL untuk penegakan traffic dengan jaringan GDC.

2.8.5. Membuat kebijakan firewall

Untuk membuat aturan firewall, occonfigtool perlu mengakses Kubernetes API untuk cluster admin root. Pastikan variabel lingkungan KUBECONFIG disetel ke root-admin-kubeconfig:

export KUBECONFIG=/root/release/root-admin/root-admin-kubeconfig
export OCIT_CONFIG_FILE=/path/to/ocit.yaml
export OCIT_INTERCONNECT_CONFIG_FILE=/path/to/interconnect.yaml

Buat aturan firewall dengan menjalankan perintah berikut:

occonfigtool generate fwrules -c ${OCIT_INTERCONNECT_CONFIG_FILE:?} -o ${OCIT_CONFIG_FILE:?}
File Konfigurasi Perangkat Fungsi
firewall-rules.base occorefw01 Konfigurasi untuk menerapkan patch pada perangkat agar dapat terhubung ke instance GDC

2.8.6. Menerapkan konfigurasi

Dengan menggunakan file output, terapkan konfigurasi ke perangkat jaringan masing-masing menggunakan prosedur yang sama seperti pada langkah sebelumnya untuk switch dan firewall.

2.8.7. Memperbarui resource RoutePolicy GDC

GDC menggunakan kebijakan rute untuk menerapkan jaringan mana yang diizinkan untuk diiklankan ke dalam tabel perutean.

Saat menambahkan OI sebagai jaringan eksternal, kita perlu memperbarui resource kustom RoutePolicy untuk memperkirakan jaringan baru.

Tindakan ini memerlukan akses ke cluster admin root menggunakan kubectl. Pastikan variabel KUBECONFIG yang sesuai ditetapkan:

export KUBECONFIG=/root/deploy/root-admin/root-admin-kubeconfig

Untuk mengonfirmasi, lakukan hal berikut:

kubectl get routepolicy -n gpc-system

Output berikut, atau yang serupa, akan terlihat:

NAME                                     AGE
customerpeering-routepolicy              19d
datacenter-routepolicy                   19d
mgmtnetworkoperationcenter-routepolicy   19d
networkoperationcenter-routepolicy       19d

Untuk langkah-langkah ini, kita akan memeriksa networkoperationcenter-routepolicy dan mgmtnetworkoperationcenter-routepolicy.

2.8.7.1. Membuat patch kebijakan rute jaringan data

Dari ocinfo.opscenter.local.txt, ambil subnet berikut (termasuk jaringan dan panjang awalan).

  • OCCORE-SERVERS, digunakan dalam contoh berikut sebagai $OCCORE_SERVERS_NET
  • OC-WORKSTATIONS, digunakan dalam contoh berikut sebagai $OC_WORKSTATIONS_NET

Gunakan nilai ini untuk menyesuaikan kebijakan rute dengan mengisi variabel berikut:

export OCCORE_SERVERS_NET=$OCCORE_SERVERS_NET
export OC_WORKSTATIONS_NET=$OC_WORKSTATIONS_NET

Contoh:

export OCCORE_SERVERS_NET=172.21.0.0/24
export OC_WORKSTATIONS_NET=172.21.32.0/24

Setelah variabel lingkungan ditetapkan, jalankan perintah kubectl berikut untuk memperbarui kebijakan rute:

kubectl patch routepolicy/networkoperationcenter-routepolicy -n gpc-system \
  --type=json -p="[
    {
        'op': 'add',
        'path': '/spec/in/ipPrefixList/0',
        'value': {
            'action': 'Permit',
            'ipPrefix': '${OCCORE_SERVERS_NET:?}',
            'prefixLengthMatchers': [
                {
                    'operator': 'LE',
                    'prefixLength': 32
                }
            ]
        }
    }
]"

kubectl patch routepolicy/networkoperationcenter-routepolicy -n gpc-system \
  --type=json -p="[
    {
        'op': 'add',
        'path': '/spec/in/ipPrefixList/0',
        'value': {
            'action': 'Permit',
            'ipPrefix': '${OC_WORKSTATIONS_NET:?}',
            'prefixLengthMatchers': [
                {
                    'operator': 'LE',
                    'prefixLength': 32
                }
            ]
        }
    }
]"

Contoh output:

routepolicy.system.private.gdc.goog/networkoperationcenter-routepolicy patched

2.8.7.2. Kebijakan rute jaringan pengelolaan patch

Dari ocinfo.opscenter.local.txt, ambil subnet berikut (termasuk jaringan dan panjang awalan).

  • OCCORE-JUMPHOSTS, digunakan dalam contoh berikut sebagai $OCCORE_JUMPHOSTS_NET
  • OCCORE-ILOS, digunakan dalam contoh berikut sebagai $OCCORE_ILOS_NET

Gunakan nilai ini untuk menyesuaikan kebijakan rute dengan mengisi variabel berikut:

export OCCORE_JUMPHOSTS_NET=$OCCORE_JUMPHOSTS_NET
export OCCORE_ILOS_NET=$OCCORE_ILOS_NET

Contoh:

export OCCORE_JUMPHOSTS_NET=172.21.2.0/27
export OCCORE_ILOS_NET=172.21.2.32/27

Setelah variabel lingkungan ditetapkan, jalankan perintah kubectl berikut untuk memperbarui kebijakan rute:

kubectl patch routepolicy/mgmtnetworkoperationcenter-routepolicy -n gpc-system \
  --type=json -p="[
    {
        'op': 'add',
        'path': '/spec/in/ipPrefixList/0',
        'value': {
            'action': 'Permit',
            'ipPrefix': '${OCCORE_JUMPHOSTS_NET:?}',
            'prefixLengthMatchers': [
                {
                    'operator': 'LE',
                    'prefixLength': 32
                }
            ]
        }
    }
]"

kubectl patch routepolicy/mgmtnetworkoperationcenter-routepolicy -n gpc-system \
  --type=json -p="[
    {
        'op': 'add',
        'path': '/spec/in/ipPrefixList/0',
        'value': {
            'action': 'Permit',
            'ipPrefix': '${OCCORE_ILOS_NET:?}',
            'prefixLengthMatchers': [
                {
                    'operator': 'LE',
                    'prefixLength': 32
                }
            ]
        }
    }
]"

Contoh output:

routepolicy.system.private.gdc.goog/mgmtnetworkoperationcenter-routepolicy patched