Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
Configuración del BGP de Cilium para nodos híbridos
En este tema se describe cómo configurar el protocolo de puerta de enlace fronteriza (BGP) de Cilium para los nodos híbridos de Amazon EKS. La funcionalidad del BGP de Cilium se denomina Cilium BGP Control Plane
Configuración del BGP de Cilium
Requisitos previos
-
Se instaló Cilium según las instrucciones de Configuración de una CNI para nodos híbridos.
Procedimiento
-
Para usar el BGP con Cilium a fin de anunciar las direcciones de los pods o los servicios en la red en las instalaciones, debe haber instalado Cilium con
bgpControlPlane.enabled: true. Si activa BGP para una implementación de Cilium existente, debe reiniciar el operador de Cilium para aplicar la configuración de BGP si BGP no se activó anteriormente. Puede configuraroperator.rollOutPodscomotrueen sus valores de Helm para reiniciar el operador de Cilium como parte del proceso de instalación o actualización de Helm.helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \ --namespace kube-system \ --reuse-values \ --set operator.rollOutPods=true \ --set bgpControlPlane.enabled=true -
Confirme que el operador y los agentes de Cilium se hayan reiniciado y estén funcionando.
kubectl -n kube-system get pods --selector=app.kubernetes.io/part-of=ciliumNAME 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 -
Cree un archivo llamado
cilium-bgp-cluster.yamlcon una definiciónCiliumBGPClusterConfig. Es posible que deba obtener la siguiente información de su administrador de red.-
Configure
localASNcon el ASN para los nodos que ejecutan Cilium. -
Configure
peerASNcon el ASN de su enrutador en las instalaciones. -
Configure
peerAddresscon la IP del enrutador en las instalaciones con la que se emparejará cada nodo que ejecute 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_ASNpeers: - name: "onprem-router" peerASN:ONPREM_ROUTER_ASNpeerAddress:ONPREM_ROUTER_IPpeerConfigRef: name: "cilium-peer"
-
-
Aplique la configuración de clúster del BGP de Cilium al clúster.
kubectl apply -f cilium-bgp-cluster.yaml -
Cree un archivo denominado
cilium-bgp-peer.yamlcon el recursoCiliumBGPPeerConfigque define una configuración de emparejamiento del BGP. Varios pares pueden compartir la misma configuración y proporcionar una referencia al recursoCiliumBGPPeerConfigcomún. Consulte BGP Peer configurationen la documentación de Cilium para obtener una lista completa de las opciones de configuración. Los valores de las siguientes configuraciones de emparejamiento de Cilium deben coincidir con los del router en las instalaciones con el que se empareja.
-
Configure
holdTimeSecondspara determinar cuánto tiempo espera un emparejamiento del BGP a recibir un mensaje de mantenimiento o actualización antes de declarar la sesión inactiva. El valor predeterminado es de 90 segundos. -
Configure
keepAliveTimeSecondspara determinar si aún se puede acceder a un emparejamiento del BGP y si la sesión del BGP está activa. El valor predeterminado es de 30 segundos. -
Configure
restartTimeSecondspara determinar el momento en que se espera que el plano de control del BGP de Cilium restablezca la sesión del BGP tras un reinicio. El valor predeterminado es de 120 segundos.apiVersion: cilium.io/v2alpha1 kind: CiliumBGPPeerConfig metadata: name: cilium-peer spec: timers: holdTimeSeconds:90keepAliveTimeSeconds:30gracefulRestart: enabled: true restartTimeSeconds:120families: - afi: ipv4 safi: unicast advertisements: matchLabels: advertise: "bgp"
-
-
Aplique la configuración de emparejamiento del BGP de Cilium al clúster.
kubectl apply -f cilium-bgp-peer.yaml -
Cree un archivo llamado
cilium-bgp-advertisement-pods.yamlcon un recursoCiliumBGPAdvertisementpara anunciar los CIDR de pods en su red en las instalaciones.-
El recurso
CiliumBGPAdvertisementse utiliza para definir varios tipos de anuncios y los atributos asociados a estos. En el siguiente ejemplo, se configura Cilium para que anuncie únicamente los CIDR de pods. Consulte los ejemplos de LoadBalancer del tipo de servicio y Equilibrio de carga en el clúster de Cilium para obtener más información sobre la configuración de Cilium para anunciar las direcciones de los servicios. -
Cada nodo híbrido que ejecuta el agente de Cilium se empareja con el router ascendente compatible con el BGP. Cada nodo anuncia el rango de CIDR del pod que posee cuando el
advertisementTypede Cilium está configurado enPodCIDRcomo en el ejemplo siguiente. Consulte BGP Advertisements configurationen la documentación de Cilium para obtener más información. apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisement-pods labels: advertise: bgp spec: advertisements: - advertisementType: "PodCIDR"
-
-
Aplique la configuración de anuncio de BGP de Cilium al clúster.
kubectl apply -f cilium-bgp-advertisement-pods.yaml -
Puede confirmar que el emparejamiento de BGP funcionó con la CLI de Cilium
mediante el comando cilium bgp peers. Debería ver los valores correctos en la salida del entorno y el estado de la sesión comoestablished. Consulte la Guía de solución de problemas y operacionesen la documentación de Cilium para obtener más información sobre la solución de problemas. En los ejemplos siguientes, hay cinco nodos híbridos que ejecutan el agente de Cilium y cada nodo anuncia el rango de CIDR de pods que posee.
cilium bgp peersNode Local AS Peer AS Peer Address Session State Uptime Family Received Advertised mi-026d6a261e355fba7NODES_ASNONPREM_ROUTER_ASNONPREM_ROUTER_IPestablished 1h18m58s ipv4/unicast 1 2 mi-082f73826a163626eNODES_ASNONPREM_ROUTER_ASNONPREM_ROUTER_IPestablished 1h19m12s ipv4/unicast 1 2 mi-09183e8a3d755abf6NODES_ASNONPREM_ROUTER_ASNONPREM_ROUTER_IPestablished 1h18m47s ipv4/unicast 1 2 mi-0d78d815980ed202dNODES_ASNONPREM_ROUTER_ASNONPREM_ROUTER_IPestablished 1h19m12s ipv4/unicast 1 2 mi-0daa253999fe92daaNODES_ASNONPREM_ROUTER_ASNONPREM_ROUTER_IPestablished 1h18m58s ipv4/unicast 1 2cilium bgp routesNode VRouter Prefix NextHop Age Attrs mi-026d6a261e355fba7NODES_ASN10.86.2.0/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-082f73826a163626eNODES_ASN10.86.2.192/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-09183e8a3d755abf6NODES_ASN10.86.2.64/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-0d78d815980ed202dNODES_ASN10.86.2.128/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-0daa253999fe92daaNODES_ASN10.86.3.0/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}]