Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Configurar o BGP do Cilium para nós híbridos
Este tópico descreve como configurar o Protocolo de Gateway da Borda (BGP) do Cilium para o Amazon EKS Hybrid Nodes. A funcionalidade BGP do Cilium é chamada de Ambiente de gerenciamento BGP do Cilium
Configurar o BGP do Cilium
Pré-requisitos
-
Cilium instalado seguindo as instruções em Configurar a CNI para nós híbridos.
Procedimento
-
Para usar o BGP com o Cilium para anunciar endereços de pods ou serviços na sua rede on-premises, você deve ter o Cilium instalado com
bgpControlPlane.enabled: true. Caso esteja habilitando o BGP para uma implantação existente do Cilium, você deverá reiniciar o operador do Cilium para aplicar a configuração do BGP caso ele não tenha sido habilitado anteriormente. Você pode definiroperator.rollOutPodscomotruenos seus valores do Helm para reiniciar o operador do Cilium como parte do processo de instalação e atualização do 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 se o operador e os atendentes do Cilium foram reiniciados e estão 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 -
Crie um arquivo chamado
cilium-bgp-cluster.yamlcom uma definiçãoCiliumBGPClusterConfig. Talvez seja necessário obter as informações a seguir do seu administrador de rede.-
Configure o
localASNcom o ASN dos nós que executam o Cilium. -
Configure o
peerASNcom o ASN do roteador on-premises. -
Configure o
peerAddresscom o IP do roteador on-premises com o qual cada nó que executa o Cilium fará emparelhamento.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 a configuração do cluster do BGP do Cilium ao seu cluster.
kubectl apply -f cilium-bgp-cluster.yaml -
Crie um arquivo
cilium-bgp-peer.yamlcom o nome do recursoCiliumBGPPeerConfigque define a configuração de pares do BGP. Vários pares podem compartilhar a mesma configuração e fornecer referência ao recurso comum deCiliumBGPPeerConfig. Consulte a configuração de pares do BGPna documentação do Cilium para obter uma lista completa das opções de configuração. Os valores das seguintes configurações de pares do Cilium devem corresponder aos do roteador on-premises com o qual você está fazendo o emparelhamento.
-
Configure
holdTimeSeconds, que determina quanto tempo um par do BGP espera por uma mensagem de manutenção ou atualização antes de declarar a sessão inativa. O padrão é de 90 segundos. -
Configure
keepAliveTimeSeconds, que determina se um par do BGP ainda está acessível e se a sessão do BGP está ativa. O padrão é 30 segundos. -
Configure
restartTimeSeconds, que determina o tempo em que se espera que o ambiente de gerenciamento do BGP do Cilium restabeleça a sessão do BGP após uma reinicialização. O padrão é 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 a configuração de pares do BGP do Cilium ao seu cluster.
kubectl apply -f cilium-bgp-peer.yaml -
Crie um arquivo
cilium-bgp-advertisement-pods.yamlcom o nome de um recursoCiliumBGPAdvertisementpara anunciar os CIDRs do pod em sua rede on-premises.-
O recurso
CiliumBGPAdvertisementé usado para definir tipos e atributos de anúncios associados a eles. O exemplo abaixo configura o Cilium para anunciar somente CIDRs de pod. Veja os exemplos em Tipo de serviço LoadBalancer e Balanceamento de carga no cluster do Cilium para obter mais informações sobre como configurar o Cilium para anunciar endereços de serviços. -
Cada nó híbrido que executa o atendente do Cilium emparelha com o roteador upstream habilitado para BGP. Cada nó anuncia a faixa de pod CIDR que possui quando
advertisementTypedo Cilium está configurada comoPodCIDRno exemplo abaixo. Consulte a configuração de anúncios do BGPna documentação do Cilium para obter mais informações. apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisement-pods labels: advertise: bgp spec: advertisements: - advertisementType: "PodCIDR"
-
-
Aplique a configuração de anúncios do BGP do Cilium ao seu cluster.
kubectl apply -f cilium-bgp-advertisement-pods.yaml -
Você pode confirmar que o emparelhamento do BGP funcionou com a CLI do Cilium
usando o comando cilium bgp peers. Você deve ver os valores corretos na saída do ambiente e no estado da sessão comoestablished. Consulte o Guia de solução de problemas e operaçõesna documentação do Cilium para obter mais informações sobre a solução de problemas. Nos exemplos abaixo, há cinco nós híbridos executando o atendente do Cilium e cada nó está anunciando o intervalo de CIDR do Pod que possui.
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}]