

 **Bantu tingkatkan halaman ini** 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih **Edit halaman ini pada GitHub** tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konfigurasikan Cilium BGP untuk node hybrid
<a name="hybrid-nodes-cilium-bgp"></a>

Topik ini menjelaskan cara mengkonfigurasi Cilium Border Gateway Protocol (BGP) untuk Amazon EKS Hybrid Nodes. Fungsionalitas BGP Cilium disebut [Cilium BGP Control Plane](https://docs.cilium.io/en/stable/network/bgp-control-plane/bgp-control-plane/) dan dapat digunakan untuk mengiklankan pod dan alamat layanan ke jaringan lokal Anda. Untuk metode alternatif untuk membuat pod CIDRs dapat dirutekan di jaringan lokal, lihat. [Pod jarak jauh yang dapat dirutekan CIDRs](hybrid-nodes-concepts-kubernetes.md#hybrid-nodes-concepts-k8s-pod-cidrs)

## Konfigurasikan Cilium BGP
<a name="hybrid-nodes-cilium-bgp-configure"></a>

### Prasyarat
<a name="_prerequisites"></a>
+ Cilium dipasang mengikuti instruksi di. [Konfigurasikan CNI untuk node hybrid](hybrid-nodes-cni.md)

### Prosedur
<a name="_procedure"></a>

1. Untuk menggunakan BGP dengan Cilium untuk mengiklankan pod atau alamat layanan dengan jaringan lokal Anda, Cilium harus diinstal dengan. `bgpControlPlane.enabled: true` Jika Anda mengaktifkan BGP untuk penerapan Cilium yang ada, Anda harus memulai ulang operator Cilium untuk menerapkan konfigurasi BGP jika BGP sebelumnya tidak diaktifkan. Anda dapat mengatur `operator.rollOutPods` ke `true` dalam nilai Helm Anda untuk memulai ulang operator Cilium sebagai bagian dari proses Helm. install/upgrade 

   ```
   helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \
     --namespace kube-system \
     --reuse-values \
     --set operator.rollOutPods=true \
     --set bgpControlPlane.enabled=true
   ```

1. Konfirmasikan bahwa operator dan agen Cilium telah dimulai ulang dan sedang berjalan.

   ```
   kubectl -n kube-system get pods --selector=app.kubernetes.io/part-of=cilium
   ```

   ```
   NAME                               READY   STATUS    RESTARTS   AGE
   cilium-grwlc                       1/1     Running   0          4m12s
   cilium-operator-68f7766967-5nnbl   1/1     Running   0          4m20s
   cilium-operator-68f7766967-7spfz   1/1     Running   0          4m20s
   cilium-pnxcv                       1/1     Running   0          6m29s
   cilium-r7qkj                       1/1     Running   0          4m12s
   cilium-wxhfn                       1/1     Running   0          4m1s
   cilium-z7hlb                       1/1     Running   0          6m30s
   ```

1. Buat file yang disebut `cilium-bgp-cluster.yaml` dengan `CiliumBGPClusterConfig` definisi. Anda mungkin perlu mendapatkan informasi berikut dari administrator jaringan Anda.
   + Konfigurasikan `localASN` dengan ASN untuk node yang menjalankan Cilium.
   + Konfigurasikan `peerASN` dengan ASN untuk router lokal Anda.
   + Konfigurasikan `peerAddress` dengan IP router lokal yang akan dilayani oleh setiap node yang menjalankan Cilium.

     ```
     apiVersion: cilium.io/v2alpha1
     kind: CiliumBGPClusterConfig
     metadata:
       name: cilium-bgp
     spec:
       nodeSelector:
         matchExpressions:
         - key: eks.amazonaws.com/compute-type
           operator: In
           values:
           - hybrid
       bgpInstances:
       - name: "rack0"
         localASN: NODES_ASN
         peers:
         - name: "onprem-router"
           peerASN: ONPREM_ROUTER_ASN
           peerAddress: ONPREM_ROUTER_IP
           peerConfigRef:
             name: "cilium-peer"
     ```

1. Terapkan konfigurasi cluster Cilium BGP ke cluster Anda.

   ```
   kubectl apply -f cilium-bgp-cluster.yaml
   ```

1. Buat file bernama `cilium-bgp-peer.yaml` dengan `CiliumBGPPeerConfig` sumber daya yang mendefinisikan konfigurasi rekan BGP. Beberapa rekan dapat berbagi konfigurasi yang sama dan memberikan referensi ke `CiliumBGPPeerConfig` sumber daya bersama. Lihat [konfigurasi BGP Peer](https://docs.cilium.io/en/latest/network/bgp-control-plane/bgp-control-plane-v2/#bgp-peer-configuration) dalam dokumentasi Cilium untuk daftar lengkap opsi konfigurasi.

   Nilai untuk setelan peer Cilium berikut harus sesuai dengan nilai router lokal yang Anda intip.
   + Konfigurasikan `holdTimeSeconds` yang menentukan berapa lama peer BGP menunggu pesan keepalive atau update sebelum mendeklarasikan sesi turun. Defaultnya adalah 90 detik.
   + Konfigurasikan `keepAliveTimeSeconds` yang menentukan apakah peer BGP masih dapat dijangkau dan sesi BGP aktif. Waktu default-nya adalah 30 detik.
   + Konfigurasikan `restartTimeSeconds` yang menentukan waktu pesawat kontrol BGP Cilium diharapkan untuk membangun kembali sesi BGP setelah restart. Periode default-nya adalah 120 detik.

     ```
     apiVersion: cilium.io/v2alpha1
     kind: CiliumBGPPeerConfig
     metadata:
       name: cilium-peer
     spec:
       timers:
         holdTimeSeconds: 90
         keepAliveTimeSeconds: 30
       gracefulRestart:
         enabled: true
         restartTimeSeconds: 120
       families:
         - afi: ipv4
           safi: unicast
           advertisements:
             matchLabels:
               advertise: "bgp"
     ```

1. Terapkan konfigurasi peer Cilium BGP ke cluster Anda.

   ```
   kubectl apply -f cilium-bgp-peer.yaml
   ```

1. Buat file bernama `cilium-bgp-advertisement-pods.yaml` dengan `CiliumBGPAdvertisement` sumber daya untuk mengiklankan pod CIDRs ke jaringan lokal Anda.
   + `CiliumBGPAdvertisement`Sumber daya digunakan untuk menentukan jenis iklan dan atribut yang terkait dengannya. Contoh di bawah ini mengonfigurasi Cilium hanya untuk mengiklankan pod. CIDRs Lihat contoh di [Jenis layanan LoadBalancer](hybrid-nodes-ingress.md#hybrid-nodes-ingress-cilium-loadbalancer) dan [Penyeimbangan beban dalam cluster silia](hybrid-nodes-load-balancing.md#hybrid-nodes-service-lb-cilium) untuk informasi selengkapnya tentang mengonfigurasi Cilium untuk mengiklankan alamat layanan.
   + Setiap node hibrida yang menjalankan agen Cilium bermitra dengan router berkemampuan BGP hulu. Setiap node mengiklankan rentang pod CIDR yang dimilikinya ketika Cilium disetel ke `PodCIDR` like pada contoh di bawah `advertisementType` ini. Lihat [konfigurasi Iklan BGP](https://docs.cilium.io/en/stable/network/bgp-control-plane/bgp-control-plane-v2/#bgp-advertisements) di dokumentasi Cilium untuk informasi selengkapnya.

     ```
     apiVersion: cilium.io/v2alpha1
     kind: CiliumBGPAdvertisement
     metadata:
       name: bgp-advertisement-pods
       labels:
         advertise: bgp
     spec:
       advertisements:
         - advertisementType: "PodCIDR"
     ```

1. Terapkan konfigurasi Cilium BGP Advertisement ke cluster Anda.

   ```
   kubectl apply -f cilium-bgp-advertisement-pods.yaml
   ```

1. Anda dapat mengonfirmasi bahwa peering BGP bekerja dengan Cilium [CLI](https://docs.cilium.io/en/stable/gettingstarted/k8s-install-default/#install-the-cilium-cli) dengan menggunakan perintah. `cilium bgp peers` Anda akan melihat nilai yang benar dalam output untuk lingkungan Anda dan Status Sesi sebagai`established`. Lihat [Panduan Pemecahan Masalah dan Operasi](https://docs.cilium.io/en/latest/network/bgp-control-plane/bgp-control-plane/#troubleshooting-and-operation-guide) di dokumentasi Cilium untuk informasi selengkapnya tentang pemecahan masalah.

   Dalam contoh di bawah ini, ada lima node hybrid yang menjalankan agen Cilium dan setiap node mengiklankan rentang Pod CIDR yang dimilikinya.

   ```
   cilium bgp peers
   ```

   ```
   Node                   Local AS    Peer AS               Peer Address        Session State   Uptime     Family         Received   Advertised
   mi-026d6a261e355fba7   NODES_ASN
                     ONPREM_ROUTER_ASN
                     ONPREM_ROUTER_IP    established     1h18m58s   ipv4/unicast   1          2
   mi-082f73826a163626e   NODES_ASN
                     ONPREM_ROUTER_ASN
                     ONPREM_ROUTER_IP    established     1h19m12s   ipv4/unicast   1          2
   mi-09183e8a3d755abf6   NODES_ASN
                     ONPREM_ROUTER_ASN
                     ONPREM_ROUTER_IP    established     1h18m47s   ipv4/unicast   1          2
   mi-0d78d815980ed202d   NODES_ASN
                     ONPREM_ROUTER_ASN
                     ONPREM_ROUTER_IP    established     1h19m12s   ipv4/unicast   1          2
   mi-0daa253999fe92daa   NODES_ASN
                     ONPREM_ROUTER_ASN
                     ONPREM_ROUTER_IP    established     1h18m58s   ipv4/unicast   1          2
   ```

   ```
   cilium bgp routes
   ```

   ```
   Node                   VRouter       Prefix           NextHop   Age         Attrs
   mi-026d6a261e355fba7   NODES_ASN     10.86.2.0/26     0.0.0.0   1h16m46s   [{Origin: i} {Nexthop: 0.0.0.0}]
   mi-082f73826a163626e   NODES_ASN     10.86.2.192/26   0.0.0.0   1h16m46s   [{Origin: i} {Nexthop: 0.0.0.0}]
   mi-09183e8a3d755abf6   NODES_ASN     10.86.2.64/26    0.0.0.0   1h16m46s   [{Origin: i} {Nexthop: 0.0.0.0}]
   mi-0d78d815980ed202d   NODES_ASN     10.86.2.128/26   0.0.0.0   1h16m46s   [{Origin: i} {Nexthop: 0.0.0.0}]
   mi-0daa253999fe92daa   NODES_ASN     10.86.3.0/26     0.0.0.0   1h16m46s   [{Origin: i} {Nexthop: 0.0.0.0}]
   ```