Konfigurasikan Cilium BGP untuk node hybrid - Amazon EKS

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

Topik ini menjelaskan cara mengkonfigurasi Cilium Border Gateway Protocol (BGP) untuk Amazon EKS Hybrid Nodes. Fungsionalitas BGP Cilium disebut Cilium 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

Konfigurasikan Cilium BGP

Prasyarat

Prosedur

  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
  2. 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
  3. 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"
  4. Terapkan konfigurasi cluster Cilium BGP ke cluster Anda.

    kubectl apply -f cilium-bgp-cluster.yaml
  5. 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 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"
  6. Terapkan konfigurasi peer Cilium BGP ke cluster Anda.

    kubectl apply -f cilium-bgp-peer.yaml
  7. Buat file bernama cilium-bgp-advertisement-pods.yaml dengan CiliumBGPAdvertisement sumber daya untuk mengiklankan pod CIDRs ke jaringan lokal Anda.

    • CiliumBGPAdvertisementSumber 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 dan Penyeimbangan beban dalam cluster silia 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 di dokumentasi Cilium untuk informasi selengkapnya.

      apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisement-pods labels: advertise: bgp spec: advertisements: - advertisementType: "PodCIDR"
  8. Terapkan konfigurasi Cilium BGP Advertisement ke cluster Anda.

    kubectl apply -f cilium-bgp-advertisement-pods.yaml
  9. Anda dapat mengonfirmasi bahwa peering BGP bekerja dengan Cilium CLI dengan menggunakan perintah. cilium bgp peers Anda akan melihat nilai yang benar dalam output untuk lingkungan Anda dan Status Sesi sebagaiestablished. Lihat Panduan Pemecahan Masalah dan Operasi 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}]