O componente Raven fornece rede entre domínios na nuvem e nos nós de borda em um cluster ACK Edge. Ele oferece suporte a dois modos de comunicação — modo proxy e modo túnel — e permite controlar quais nós de gateway de borda podem estabelecer túneis com a nuvem.
Se o seu cluster utiliza um circuito Express Connect para comunicação entre nuvem e borda, desinstale o componente Raven.
Pré-requisitos
Antes de começar, verifique se você possui:
Um cluster ACK Edge executando a versão v1.26.3 ou posterior. Consulte Create an ACK Edge cluster.
Modo proxy: Tráfego TCP de entrada nas portas 10280–10284 permitido pelas políticas de segurança nos seus nós de borda.
Modo túnel: Porta UDP 4500 permitida pelas políticas de segurança nos seus nós de borda e porta UDP de entrada 8472 permitida pelo grupo de segurança da nuvem.
Políticas de segurança dos nós de borda que não bloqueiem o tráfego proveniente do endereço IP elástico (EIP) associado ao componente Raven. Os nós de borda usam esse EIP para estabelecer um túnel reverso com a nuvem. Para localizar esse EIP, consulte a seção Usage notes.
Observações de uso
A comunicação entre domínios depende de recursos da nuvem: endereços IP elásticos (EIPs), instâncias de Classic Load Balancer (CLB) e listas de controle de acesso (ACLs).
O componente gerenciado Edge-Controller-Manager (ECM) provisiona automaticamente esses recursos quando você ativa a comunicação entre domínios do Raven e os libera quando você a desativa ou desinstala. É possível redimensionar esses recursos conforme suas necessidades. Os recursos da nuvem seguem este formato de nomenclatura:
k8s/raven-agent-ds/kube-system/{CLUSTER_ID}. Não renomeie esses recursos — caso contrário, o ECM pode deixar de reconhecê-los, causando vazamento de recursos. Não os exclua manualmente, pois isso interrompe a funcionalidade do Raven.-
O ConfigMap
kube-system/raven-cfgarmazena informações sobre os recursos da nuvem provisionados. Não exclua manualmente este ConfigMap. Ele contém os seguintes campos:apiVersion: v1 kind: ConfigMap metadata: name: raven-cfg namespace: kube-system data: acl-id: acl-xxx acl-entry: "" eip-id: eip-xxx eip-ip: 47.XX.XX.47 enable-l3-tunnel: "false" enable-l7-proxy: "true" loadbalancer-id: lb-xxx loadbalancer-ip: 192.XX.XX.1
Escolha um modo de comunicação
O componente raven-agent-ds oferece suporte a dois modos de comunicação. O modo proxy é ativado por padrão quando você cria um cluster ACK Edge.
|
Modo proxy (recomendado) |
Modo túnel |
|
|
Camada de rede |
Rede do host |
Rede do contêiner |
|
Mecanismo |
Túnel de proxy reverso |
Túnel VPN |
|
Indicado para |
Comunicação entre domínios no nível da rede do host |
Pools de nós onde os nós podem se comunicar diretamente; usado principalmente para monitorar métricas de contêineres cloud-edge |
|
Risco de perda de dados |
— |
Maior — o tráfego passa pela rede pública; não utilize para dados críticos de negócios |
Para uma explicação detalhada sobre ambos os modos, consulte The Raven cross-domain O&M communication component.
Configure o raven-agent-ds
Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Add-ons.
Localize o componente raven-agent-ds e clique em Configuration em seu cartão.
-
Configure os seguintes parâmetros:
controller
Selecione o modo de comunicação:
Enable Proxy Mode (Recomendado): Estabelece um túnel de proxy reverso para comunicação entre domínios no nível da rede do host.
-
Enable Tunnel Mode: Cria um túnel VPN para comunicação entre domínios no nível da rede do contêiner. Escolha este modo para pools de nós onde os nós podem se comunicar diretamente. Utilizado principalmente para monitorar métricas de contêineres cloud-edge.
ImportanteA comunicação entre domínios no modo túnel trafega pela rede pública, o que acarreta risco de perda de dados. Não use o modo túnel para dados críticos de negócios. Se encontrar problemas, envie um ticket para entrar em contato com a equipe do Container Service.
accessControlListEntry
Especifica a lista de permissões de controle de acesso para os nós de gateway de borda. Apenas os nós nesta lista podem estabelecer túneis com a nuvem.
Formato: Bloco CIDR. Para um único endereço IP, use a máscara de sub-rede
/32.Separe múltiplas entradas com vírgula (
,).Se deixado em branco, o balanceador de carga permite tráfego de todos os endereços de origem.
Caso adicione entradas, inclua também o bloco CIDR
100.64.0.0/10, utilizado pelo CLB para verificações de integridade.
Fixe nós de gateway
O Raven constrói túneis entre domínios entre nós de gateway. Por padrão, ele seleciona aleatoriamente nós de gateway de um pool de nós. Para garantir um canal estável de operações e manutenção (O&M), designe nós específicos como nós de gateway dedicados:
kubectl label node node-xxx raven.openyurt.io/gateway-node=true
Próximos passos
Para saber mais sobre a arquitetura do componente Raven e os modos de comunicação, consulte The Raven cross-domain O&M communication component.
Para acessar o changelog do raven-agent-ds, consulte raven-agent-ds.