Diagnosticando e Solucionando Problemas de Configuração de Rede para Clusters do Kubernetes com o Uso de Testes de Análise de Caminho de Rede

Descubra como usar testes de análise de caminho de rede para ajudar a resolver problemas de conectividade de rede com clusters que você criou usando o Kubernetes Engine (OKE).

Para que um cluster criado com o Kubernetes Engine funcione corretamente, os recursos de rede especificados para o cluster devem ser configurados corretamente. Quando você cria um cluster usando o workflow de Criação Rápida, o Kubernetes Engine cria e configura novos recursos de rede para você, de acordo com as diretrizes descritas em Configuração de Recursos de Rede para Criação e Implantação de Cluster. No entanto, ao criar um cluster usando o Workflow Criar Personalizado, você especifica os recursos de rede existentes para o novo cluster a ser usado. Esses recursos devem ser configurados adequadamente para permitir a comunicação de rede com o cluster e para permitir que diferentes componentes do cluster se comuniquem entre si.

A configuração de recursos de rede para clusters do Kubernetes pode se tornar complicada. O Kubernetes Engine fornece, portanto, vários testes de análise de caminho de rede predefinidos para solucionar problemas de configuração de rede. Esses testes de análise de caminho examinam topologias de rede virtual, percorrem várias tabelas de roteamento e examinam regras de segurança em grupos de segurança de rede (NSGs) e listas de segurança. Nenhum tráfego real é enviado; em vez disso, a configuração é examinada e usada para confirmar a acessibilidade.

Usando os testes de análise de caminho, você pode determinar se um recurso do OCI pode alcançar outro recurso do OCI (conectividade unidirecional da origem ao destino) e se dois recursos do OCI podem alcançar um ao outro (conectividade bidirecional). Por exemplo, você pode usar um teste de análise de caminho para determinar se um pod em um cluster do Kubernetes que usa o plug-in VCN-Native Pod Networking CNI pode acessar serviços do OCI e vice-versa.

Ao usar a Console, você pode selecionar os testes de análise de caminho predefinidos na guia Testes de análise de caminho na página de detalhes do cluster. Para obter mais informações sobre os testes de análise de caminho predefinidos disponíveis, consulte Testes de Análise de Caminho Predefinidos.

Cada teste de análise de caminho predefinido requer vários parâmetros de teste diferentes. Quando você executa um teste, dependendo do teste selecionado, os valores padrão para alguns ou todos os parâmetros de teste são derivados das propriedades dos recursos usados pelo cluster. Em alguns casos, você pode alterar os valores padrão. Você deve fornecer valores para parâmetros de teste que não tenham valores padrão. Após executar um teste de análise de caminho predefinido, você pode salvar os resultados como um arquivo JSON, permitindo comparar os resultados do teste ao longo do tempo. Para obter mais informações sobre como executar testes de análise de caminho predefinidos para um cluster, consulte Executando Testes de Análise de Caminho Predefinidos.

Os testes de análise de caminho têm a tecnologia do Oracle Cloud Infrastructure Network Path Analyzer (NPA), que identifica problemas de configuração de rede virtual que afetam a conectividade. Além dos testes de análise de caminho predefinidos disponíveis na guia Testes de análise de caminho, você também pode criar seus próprios testes de análise de caminho personalizados usando o NPA. Para obter mais informações sobre o NPA, incluindo permissões necessárias para executar o NPA, e como criar e executar testes de análise de caminho com o NPA, consulte Analisador de caminho de rede.

Políticas Obrigatórias do Serviço IAM para Executar Testes de Análise de Caminho

Para executar testes de análise de caminho para verificar caminhos de rede para um cluster do Kubernetes que você criou usando o Kubernetes Engine, você deve pertencer a um grupo que recebeu permissão para usar o Network Path Analyzer (NPA). O Network Path Analyzer também deve ter recebido permissão para acessar vários recursos de rede.

Para descobrir as permissões a serem concedidas e uma política de IAM recomendada, consulte Permissões Obrigatórias na documentação do Network Path Analyzer.

Testes de Análise de Caminho Predefinidos

Você pode usar vários testes de análise de caminho predefinidos diferentes para verificar caminhos de rede para um cluster do Kubernetes que você criou usando o Kubernetes Engine. Na Console, você pode filtrar a lista de testes de análise de caminho por:

  • o tipo de problema que você deseja verificar (como falhas de DNS, falhas no plano de controle do Kubernetes, falha no registro dos nós)
  • caminhos essenciais, recomendados ou opcionais para o funcionamento correto do Kubernetes Engine

Os testes são agrupados nas seguintes grandes categorias de testes:

  • Testes de API de Cluster: Use para verificar se um ou mais caminhos estão disponíveis para permitir que o ponto final da API do Kubernetes do cluster se comunique bidirecionalmente com outros componentes de cluster e locais de rede.
  • Testes de nó: Use para verificar se um ou mais caminhos estão disponíveis para permitir que os nós de trabalho no plano de dados do Kubernetes se comuniquem bidirecionalmente com outros componentes de cluster e locais de rede.
  • Testes de pod: Use para verificar se um ou mais caminhos estão disponíveis para permitir que os pods no plano de dados do Kubernetes se comuniquem bidirecionalmente com outros componentes de cluster e locais de rede.
  • Testes do Balanceador de Carga: Use para verificar se um ou mais caminhos estão disponíveis para permitir que um balanceador de carga ou balanceador de carga de rede do OCI se comunique bidirecionalmente com outros componentes de cluster e locais de rede.

Os componentes de cluster usam caminhos diferentes para se comunicar com outros componentes de cluster e locais de rede, dependendo do tipo de rede do cluster (sobreposição de canal ou nativo da VCN) e do tipo de nós de trabalho que o cluster contém (gerenciado e/ou virtual). Em cada categoria de teste, existem diferentes testes de análise de caminho para verificar esses diferentes caminhos.

Observe que a Console mostra apenas os testes de análise de caminho aplicáveis ao cluster atual. Por exemplo, se o tipo de rede do cluster for sobreposição de Flanela, você só poderá selecionar testes de análise de caminho que se apliquem ao tipo de rede de sobreposição de Flanela.

Executando Testes de Análise de Caminho Predefinidos

Você usa a Console para executar testes de análise de caminho predefinidos para verificar caminhos de rede para um cluster do Kubernetes que você criou usando o Kubernetes Engine.

Usando a Console

  1. Na página da lista Clusters, selecione o nome do cluster cujo teste de análise de caminho de rede predefinido você deseja executar. Se precisar de ajuda para localizar a página de lista ou o cluster, consulte Listando Clusters.
  2. Selecione a guia Testes de análise de caminho.
    Os testes de análise de caminho predefinidos são agrupados nas seguintes categorias amplas, mostradas em guias de categorias de teste diferentes:
    • Testes da API de Cluster: Use para verificar se um ou mais caminhos estão disponíveis para permitir que o ponto final da API do Kubernetes do cluster se comunique bidirecionalmente com outros componentes de cluster e locais de rede.
    • Testes de nó: Use para verificar se um ou mais caminhos estão disponíveis para permitir que os nós de trabalho no plano de dados do Kubernetes se comuniquem bidirecionalmente com outros componentes de cluster e locais de rede.
    • Testes de pod: Use para verificar se um ou mais caminhos estão disponíveis para permitir que os pods no plano de dados do Kubernetes se comuniquem bidirecionalmente com outros componentes de cluster e locais de rede.
    • Testes do Balanceador de Carga: Use para verificar se um ou mais caminhos estão disponíveis para permitir que um balanceador de carga ou balanceador de carga de rede do OCI se comunique bidirecionalmente com outros componentes de cluster e locais de rede.
  3. (Opcional) Em Tipo de problema que você deseja verificar, especifique os testes de análise de caminho mostrados nas guias da categoria de teste selecionando o tipo de problema que você deseja verificar:
    • Qualquer problema
    • Falhas de DNS
    • Falhas no plano de controle do Kubernetes
    • Os nós não estão sendo registrados
  4. (Opcional) Em Filtros, reduza ou expanda o número de testes de análise de caminho mostrados nas guias de categoria de teste selecionando ou desmarcando uma ou mais opções de OKE obrigatório, da seguinte forma:
    • Sim: Mostre os testes de análise de caminho que verificam os caminhos essenciais que devem estar disponíveis para que o Kubernetes Engine funcione corretamente.
    • Recomendado: Mostre os testes de análise de caminho que verificam os caminhos recomendados (mas não obrigatórios) para uso por aplicativos em execução em clusters criados pelo Kubernetes Engine.
    • Não: Mostre os testes de análise de caminho que verificam caminhos que não são exigidos pelo Kubernetes Engine nem particularmente recomendados, mas que ainda podem ser usados por aplicativos em execução em clusters criados pelo Kubernetes Engine.
    Se você selecionar todas as opções necessárias do OKE em Filtros, todos os testes de análise de caminho disponíveis serão mostrados nas guias de categoria de teste. Se você desmarcar todas as opções obrigatórias do OKE em Filtros, nenhum teste de análise de caminho será mostrado em qualquer uma das guias de categoria de teste.
  5. Localize o teste de análise de caminho que você deseja executar em uma das guias de categoria de teste, usando o nome e a descrição do teste.
    Dica: Se você não conseguir encontrar o teste de análise de caminho que está procurando ou se nenhum teste de análise de caminho for mostrado, verifique novamente se as opções Tipo de problema que você deseja verificar e OKE obrigatório estão definidas corretamente. Verifique também se o teste de análise de caminho que você deseja executar é aplicável ao cluster atual. Por exemplo, se o tipo de rede do cluster for sobreposição de Flannel, você só poderá selecionar testes de análise de caminho que se apliquem ao tipo de rede sobreposição de Flannel.
  6. Selecione Iniciar análise de caminho ao lado do teste de análise de caminho que você deseja executar para exibir a página Análise de caminho.
    Se você não tiver as permissões corretas para executar o teste de análise de caminho selecionado, uma mensagem de erro será mostrada. É necessário conceder as permissões corretas antes de continuar. Para descobrir as permissões a serem concedidas e uma política de IAM recomendada, consulte Permissões Obrigatórias na documentação do Network Path Analyzer.
  7. Dependendo do teste de análise de caminho selecionado, altere os valores padrão ou forneça valores para os parâmetros de teste de origem e destino na página Análise de caminho.
    Em muitos casos, os valores padrão para parâmetros de teste são derivados das propriedades dos recursos usados pelo cluster. Em alguns casos, você pode alterar os valores padrão. Você deve fornecer valores para parâmetros de teste que não tenham valores padrão.
  8. Selecione Executar análise para executar o teste de análise de caminho.
  9. Permita a execução do teste de análise de caminho, que pode levar até um minuto para ser concluído.
    Enquanto o teste de análise de caminho está em execução, o tráfego não está realmente atravessando a rede. As informações de configuração de rede estão simplesmente sendo coletadas e analisadas para determinar como os caminhos entre a origem e o destino funcionariam ou falhariam.
    Após a execução do teste de análise de caminho, todos os caminhos possíveis (até oito no máximo) que foram identificados entre a origem e o destino são mostrados em guias diferentes na seção Caminhos descobertos.
    Cada guia mostra as opções configuradas para o teste de análise de caminho, juntamente com diagramas que visualizam o caminho de ida e (se configurado) o caminho de volta do tráfego entre a origem e o destino, e o status de cada caminho:
    • Se o teste de análise de caminho determinar que o tráfego de rede pode percorrer com sucesso um caminho específico, o diagrama desse caminho terá um Status do Caminho de Acessível. Uma seta verde representa cada salto bem-sucedido entre os nós no caminho geral.
    • Se o teste de análise de caminho determinar que o tráfego de rede não pode percorrer com sucesso um caminho específico, o diagrama desse caminho terá um Status do Caminho de Não Acessível. Uma seta verde representa qualquer salto bem sucedido no caminho geral, e uma seta vermelha representa o salto ou segmento de rede que é inacessível.
  10. Selecione View diagram information para ver mais detalhes sobre os saltos em cada caminho ou selecione uma seta específica para obter detalhes sobre um determinado salto. Por exemplo, para determinar se houve falha de um salto devido a uma má configuração no roteamento ou configuração de segurança do nó específico.
    Cada hop tem um Status de roteamento, com um dos seguintes valores:
    • Encaminhado: A tabela de roteamento relevante permite o tráfego.
    • Nenhuma rota: A tabela de roteamento não permite explicitamente o tráfego.
    • Indeterminado: A tabela de roteamento não pode ser analisada porque sua conta não tem as permissões necessárias ou porque as informações de roteamento do nó estão indisponíveis por algum outro motivo.

    Se o nó for um recurso do OCI, as informações de roteamento serão vinculadas diretamente à regra de roteamento relevante.

    Cada hop tem um Status de segurança, com um dos seguintes valores:
    • Permitido: A lista ou regra de segurança relevante permite o tráfego.
    • Bloqueado: A lista de segurança ou regra bloqueia o tráfego.
    • Indeterminado: A lista ou regra de segurança não pode ser analisada, porque sua conta não tem as permissões necessárias ou porque as informações de segurança do nó estão indisponíveis por algum outro motivo.

    Se o nó for um recurso do OCI, as informações de segurança serão vinculadas diretamente à regra ou lista de segurança relevante.

  11. (Opcional) Selecione Fazer download do arquivo JSON para salvar a saída do teste de análise de caminho em um arquivo JSON no diretório de downloads padrão.
    Salvar a saída do teste de análise de caminho como um arquivo JSON permite comparar os resultados do teste ao longo do tempo.
  12. Selecione Fechar para fechar a página Análise de caminho.