Implantar o Cilium Hubble em um cluster ACK Terway permite visualizar o tráfego de rede de contêineres e as políticas de rede, oferecendo observabilidade da arquitetura de rede e da topologia de serviços. Este tópico descreve como usar o Cilium Hubble para visualizar dados de tráfego de rede, como origens e destinos, garantindo a observabilidade da sua rede.
Pré-requisitos
Crie um cluster gerenciado ACK.
Atualmente, o Cilium Hubble suporta apenas o modo de rede Terway ENI multi-IP, baseado em IPvlan. Portanto, ao criar um cluster, defina o Network Plug-in como Terway e o Terway Mode como IPvlan. Caso contrário, não será possível usar o Cilium Hubble.
Etapa 1: Configure o ConfigMap eni-config
Console
-
Edite o ConfigMap eni-config do Terway.
Faça login no ACK console. 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 .
Na página ConfigMaps, selecione kube-system na lista suspensa Namespace. Localize eni-config e clique em Edit YAML na coluna Actions.
-
No painel View in YAML, localize
10-terway.conf, adicione os seguintes parâmetros a10-terway.confe clique em OK."cilium_enable_hubble": "true", "cilium_hubble_listen_address": ":4244", "cilium_hubble_metrics_server": ":9091", "cilium_hubble_metrics": "drop,tcp,flow,port-distribution,icmp",Parameter
Description
Remarks
eniip_virtual_type
Define se o modo IPvlan deve ser ativado.
Se este parâmetro estiver ausente ou seu valor não for
IPVLAN, o cluster não suportará o Cilium Hubble.cilium_enable_hubble
Indica se a análise de tráfego de rede com o Hubble está habilitada.
Neste tópico, este parâmetro está definido como
"true".cilium_hubble_listen_address
Endereço de escuta para informações de tráfego de rede do Hubble.
Neste tópico, este parâmetro está definido como
":4244".cilium_hubble_metrics_server
Endereço de escuta para as métricas do Hubble.
Neste tópico, este parâmetro está definido como
":9091".cilium_hubble_metrics
Métricas a serem coletadas. Separe múltiplas métricas com vírgula (,).
Recursos da camada 7, como DNS e HTTP, não são suportados. A lista completa de métricas suportadas pelo Hubble é
"drop,tcp,flow,port-distribution,icmp".NotaAtivar muitas métricas pode afetar o desempenho do Hubble.
-
Reinicie os pods do Terway para aplicar as alterações.
No painel de navegação à esquerda, escolha .
Na página Pods, selecione kube-system na lista suspensa Namespace e insira terway-eniip na caixa de pesquisa. Para cada pod correspondente, escolha na coluna Actions.
-
Na caixa de diálogo de confirmação exibida, clique em OK.
Na página Pods, aguarde até que o Status do novo pod terway-eniip-xxx mude para Running. Isso indica que o pod foi reiniciado com sucesso.
Repita essas etapas para excluir todos os pods do Terway.
Kubectl
-
Edite o ConfigMap eni-config.
-
Execute o comando a seguir para editar o ConfigMap eni-config:
kubectl -n kube-system edit configmap eni-config -
No bloco de dados
10-terway.conf, adicione os seguintes parâmetros. Em seguida, salve as alterações e saia."cilium_enable_hubble": "true", "cilium_hubble_listen_address": ":4244", "cilium_hubble_metrics_server": ":9091", "cilium_hubble_metrics": "drop,tcp,flow,port-distribution,icmp",Parameter
Description
Remarks
eniip_virtual_type
Define se o modo IPvlan deve ser ativado.
Se este parâmetro estiver ausente ou seu valor não for
IPvlan, o cluster não suportará o Cilium Hubble.cilium_enable_hubble
Indica se a análise de tráfego de rede com o Hubble está habilitada.
Neste tópico, este parâmetro está definido como
"true".cilium_hubble_listen_address
Endereço de escuta para informações de tráfego de rede do Hubble.
Neste tópico, este parâmetro está definido como
":4244".cilium_hubble_metrics_server
Endereço de escuta para as métricas do Hubble.
Neste tópico, este parâmetro está definido como
":9091".cilium_hubble_metrics
Métricas a serem coletadas. Separe múltiplas métricas com vírgula (,).
Recursos da camada 7, como DNS e HTTP, não são suportados. A lista completa de métricas suportadas pelo Hubble é
"drop,tcp,flow,port-distribution,icmp".NotaAtivar muitas métricas pode afetar o desempenho do Hubble.
-
-
Reinicie os pods do Terway para aplicar as alterações.
kubectl rollout restart daemonset -n kube-system terway-eniip
Etapa 2: Instale o Cilium Hubble
Faça login no ACK console. 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 .
-
Na página Helm, clique em Deploy. Configure os parâmetros de Basic Information.
Parameter
Example value
Release Name
ack-terway-hubble
Namespace
kube-system
Source
O valor padrão é Marketplace.
Chart
Em Use Scenarios, selecione All.
Em Supported Architecture, selecione amd64.
Na caixa de pesquisa, insira ack-terway-hubble.
Selecione ack-terway-hubble e clique em Next.
-
Na página Parameters, selecione uma Chart Version. Na área Parameter, localize a seção
ingress, defina o valor dehostscomo o domínio de acesso da UI do Hubble e clique em OK.NotaOs parâmetros a seguir estão localizados na seção
ingress.Parameter
Description
enabled
Defina se o acesso via Ingress para a UI do Hubble deve ser ativado.
annotations
Anotações personalizadas do Ingress.
path
Caminho raiz personalizado do Ingress.
hosts
Hosts personalizados do Ingress.
tls
Configuração TLS personalizada do Ingress.
Etapa 3: Usar o Cilium Hubble
Se você configurou o parâmetro hosts do Ingress para o Cilium Hubble, acesse a UI do Hubble navegando até esse domínio na porta 80. A UI do Hubble exibe as seguintes informações.
Caso utilize um nome de domínio não resolvível publicamente, como ingress.local, execute o comando kubectl -n kube-system get svc nginx-ingress-lb para obter o endereço IP da UI do Hubble. Em seguida, adicione uma entrada ao seu arquivo hosts local para mapear ingress.local para esse endereço IP.
O mapa de serviços mostra a topologia de comunicação entre pods e serviços nos namespaces do cluster.
A visualização de fluxos fornece detalhes sobre o tráfego de rede atual, incluindo origens, destinos, informações de porta e status de encaminhamento.
Quando há políticas de rede configuradas, a interface indica quais fluxos de tráfego são descartados por essas políticas.
O Cilium Hubble expõe métricas de tráfego de rede por meio do service hubble-metrics no namespace kube-system. O campo cilium_hubble_metrics no ConfigMap eni-config controla quais métricas são expostas. Colete esses dados usando o Prometheus open source ou o Managed Service for Prometheus. Para mais informações, consulte Use open source Prometheus for monitoring e Configure Managed Service for Prometheus.
Para obter mais detalhes sobre as métricas expostas pelo Cilium Hubble, consulte Hubble Exported Metrics.
|
Category |
Metric |
Label |
Description |
|
drop |
hubble_drop_total |
reason, protocol |
Total de pacotes descartados. |
|
tcp |
hubble_tcp_flags_total |
flag, family |
Total de flags TCP observadas. |
|
flow |
hubble_flows_processed_total |
type, subtype, verdict |
Total de fluxos de rede processados. |
|
port-distribution |
hubble_port_distribution_total |
protocol, port |
Distribuição de pacotes por porta de destino. |
|
icmp |
hubble_icmp_total |
family, type |
Total de pacotes ICMP. |