Kubernetes descoberta usando padrões

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 27 min. de leitura
  • . ServiceNow Visibilidade do ITOM encontra Kubernetes e. OpenShift componentes que usam padrões e cria serviços de aplicações que os contêm . Descoberta também encontra Kubernetes eventos e atualiza com frequência o. CMDB para refletir a dinâmica Kubernetes ambiente.

    O Descoberta usa o padrão Kubernetes e suas seções de extensão para descobrir componentes Kubernetes para versão Kubernetes 1.21:
    • A seção de extensão Collect OpenShift info do padrão Kubernetes descobre os componentes OpenShift da implantação de Kubernetes. . OpenShift A seção de extensão Configuração de compilação está disponível na Store versão 1,0.53.
    • A extensão Service Mesh descobre detalhes da malha de serviço. Essas informações permitem que o padrão crie relações de serviço a serviço, mostradas como Connects to::Connected. A descoberta de malha de serviço requer a implantação do Istio no cluster do K8s (Kubernetes). A seção de extensão do Service mesh está disponível em Classes de extensão do Kubernetes . É compatível com o ServiceNow AI Platform usando a versão Madrid ou posterior.
    • A seção Collect Container Repository e a extensão encontram registros de contêiner e imagens nesses registros.

    Além disso, o Descoberta usa o padrão de evento Kubernetes para descobrir eventos para componentes Kubernetes das versões Kubernetes versão 1.21.

    Na versão 1.0.68 na ServiceNow Store, o Mapeamento de serviços pode usar relacionamentos de IC para adicionar os componentes Kubernetes aos serviços de aplicações durante a descoberta baseada em marcador.

    Descoberta usa os seguintes padrões para descobrir o todo Kubernetes Infraestrutura implantada no GCP, AWS e Azure:
    • Google Cloud Platform (GCP) – Obter Kubernetes Clusters .
    • Amazon AWS - Obter Kubernetes Clusters .
    • Azure - Obter Kubernetes Clusters .
    Esses padrões consultam a Nuvem, coletam dados em todos os clusters Kubernetes e criam uma programação sem servidor para cada cluster. Quando o cluster é excluído, a programação é marcada como inativa. Este recurso elimina a sobrecarga de criar e gerenciar várias credenciais e programações do Discovery sem servidor por cluster. Os padrões de infraestrutura em Nuvem são acionados por meio da descoberta na nuvem padrão.

    Solicitar aplicativos na Store

    Acesse o site ServiceNow Store para ver todos os aplicativos disponíveis e obter informações sobre como enviar solicitações para a loja. Para obter informações sobre notas de versão cumulativa para todos os aplicativos liberados, consulte as ServiceNow Store notas de versão do histórico de versão.

    Pré-requisitos

    Nota:
    Para pré-requisitos para Kubernetes Descoberta de infraestrutura em nuvem, consulte abaixo .
    Nota:
    Execução automática sem servidor Kubernetes Cronogramas busca o token do portador. Adicionar credenciais é desnecessário.
    Execute as etapas a seguir para garantir que Descoberta pode usar padrão a ser encontrado com sucesso Kubernetes.
    1. Implante a mais recente aplicação Discovery and Service Mapping Patterns na ServiceNow Store.
    2. Na plataforma Kubernetes, encontre os parâmetros para configurar a descoberta Kubernetes :
      • Encontre o URL do servidor kubeapi:
        1. Na plataforma Kubernetes, execute o seguinte comando:

          kubectl cluster-info

        2. Na saída, encontre a linha que indica o URL do servidor kubeapi. Por exemplo, o plano de controle Kubernetes está sendo executado em

          https://10.154.144.146:443

      • Encontre os namespaces do servidor kubeapi:
        1. Na plataforma Kubernetes, execute este comando:

          kubectl get namespaces

        2. Na saída, encontre a linha que indica os namespaces. Por exemplo, kube-system.
      • Encontre o nome de usuário e a senha do Kubernetes:
        1. Na plataforma Kubernetes, execute este comando:

          kubectl config view

        2. Na saída, encontre o nome de usuário e a senha.Localize as linhas que contêm informações sobre senha e nome de usuário.
          Nota:
          Se em um determinado ambiente, o comando kubectl config view não estiver mostrando os detalhes esperados, use o comando supported do administrador Kubernetes para obter os detalhes do nome de usuário e da senha.
      • Encontre o token do portador válido com as permissões apropriadas:
        • Se você souber o nome do token padrão, use o comando no seguinte formato: kubectl descrever segredos de <default-token-token name> .

          Por exemplo: kubectl descreva o segredo default-token-g6pwc .

        • Se você não souber o nome do token padrão, use o comando: kubectl descrever segredo .
    3. Certifique-se de que o Servidor de API esteja acessível a partir do MID Server bem-sucedido Kubernetes descoberta.
    4. Certifique-se de que o usuário tenha configurado no Kubernetes a plataforma tem OBTER permissões para executar os seguintes elementos /api/v1:
      • https://<url>/api/v1/namespaces/
      • https://<url>/api/v1/namespaces/<namespace>
      • https://<url>/api/v1/namespaces/kube-system/endpoints/kube-controller-manager
      • https://<url>/api/v1/services
      • https://<url>/api/v1/pods
      • https://<url>/api/v1/nodes
      • https://<url>/api/v1/replicationcontrollers
      • https://<url>/apis/networking.k8s.io/v1/ingresses
      • https://<url>/apis/apps/v1/deployments
      • https://<url>/apis/apps/v1/statefulsets
      • https://<url>/apis/apps/v1/daemonsets
      • https://<url>/apis/apps/v1/replicasets
      • https://<url>/apis/batch/v1/cronjobs
      • https://<url>/apis/batch/v1/jobs
    5. Para descobrir o. OpenShift componentes do Kubernetes implantação, certifique-se de que o usuário tenha configurado no Kubernetes a plataforma tem OBTER permissões para executar os seguintes elementos /api/v1:
      • /apis/apps.openshift.io/v1/deploymentconfigs
      • ​/apis/build.openshift.io/v1/buildconfigs​
      • /apis/route.openshift.io/v1/routes​
      • /apis/user.openshift.io/v1/groups​
      • /apis/user.openshift.io/v1/users​
      • /apis/project.openshift.io/v1/projects​
      • /apis/image.openshift.io/v1/images​
      • /apis/image.openshift.io/v1/imagestreams
      Para descobrir informações de malha de serviço:
      • Implante o Istio no seu cluster do K8s.
      • Forneça o URL do Prometheus.
      • Configure o Prometheus para extrair métricas do Istio.
    6. Ative a extensão Obter arquivos de configuração do Kubernetes para:
      • Descobrir os arquivos de configuração.
      • Criar arquivos de configuração rastreados.
      • Mapear as cargas de trabalho e os serviços dos arquivos de configuração com um relacionamento.
      Nota:
      O conteúdo de arquivos rastreados está no formato JSON da versão 1,0.92. O conteúdo dos arquivos rastreados está no formato YAML na versão 1.0.91 e anteriores.
    7. Crie as credenciais Kubernetes na plataforma ServiceNow :
      1. Em ServiceNow AI Platform, navegue até Tudo > Descoberta > Credenciais.
      2. Selecione Novo.
      3. Selecione Credenciais do Kubernetes .
      4. No formulário, preencha os campos.
        Campo Descrição
        Nome Nome exclusivo e descritivo desta credencial.
        Nome de usuário Nome de usuário associado a esta credencial. Espaços iniciais ou finais devem ser evitados; se forem detectados, um aviso será exibido.

        Somente um método de autenticação deve ser usado: Um nome de usuário e senha ou um token do portador. Não use ambos.

        Senha Senha associada a esta credencial.

        Somente um método de autenticação deve ser usado: Um nome de usuário e senha ou um token do portador. Não use ambos.

        Autenticação de token do portador Esta opção habilita a autenticação avançada usando um token do portador.

        Quando a caixa de seleção é marcada, o campo Token do portador é exibido.

        Token do portador Descoberta Usa o token do portador para autenticação avançada ao acessar Kubernetes.

        O token do portador deve estar no formato codificado BASE64, usando a sequência de caracteres como token. Por exemplo: 31ada4fd-adac-460c-809a-9e56ceb75269.

        Somente um método de autenticação deve ser usado: Um nome de usuário e senha ou um token do portador. Não use ambos.

        Alias de credencial Um alias está configurado para usar Kubernetes credencial para dispositivos e aplicações diferentes de Kubernetes. Este alias também é usado ao definir uma programação de descoberta sem servidor para descobrir o. Kubernetes implantação.
        1. Selecione o ícone de cadeado e, em seguida, selecione o ícone de pesquisa.
        2. No formulário Aliases de Conexão e Credencial, selecione Novo.
        3. Especifique um nome para o registro de alias de credencial.
        4. Defina atributos para o alias. Defina o Type como Credencial.
        5. Clique com o botão direito do mouse no cabeçalho do formulário e selecione Salvar e, em seguida, Atualizar.
        6. No formulário Aliases de conexão e credencial, selecione o alias recém-adicionado.

          O alias aparece no campo Alias de credencial.

      5. No formulário de credenciais Kubernetes, selecione Atualizar.
    8. Crie uma programação de descoberta sem servidor para o padrão Kubernetes.
      Crie e defina o padrão de execução sem servidor conforme descrito na documentação do produto. Configure os parâmetros exigidos pelo padrão Kubernetes da seguinte forma:
      Tabela 1. Configuração de atributos de padrão de execução
      Campo Descrição
      url O identificador do nome do host, IP ou FQDN e a porta do apiserver Kubernetes. Use o seguinte formato: example_hostname:example_port ou xample_ip:example_port. Forneça o protocolo correto (HTTP ou HTTPS) no URL.
      namespace Os namespaces que o sistema passa no Kubernetes Configuração da Descoberta. Insira um dos seguintes valores:
      • Namespace individual: Insira o namespace e, em seguida, "kube-system". Por exemplo: dev, kube-system
      • O valor padrão: Enter kube-system
      • Namespaces de várias pilhas: Insira os namespaces, use uma vírgula (,) para separar os valores e insira "kube-system". Por exemplo: aplicação,teste,kube-system
      • Todos os namespaces: Use um asterisco (*) para inserir todos os namespaces
      alias de credenciais O alias associado às credenciais do Kubernetes criadas anteriormente.
      nome do cluster O nome do cluster Kubernetes, no seguinte formato: <serviceaccountid><space><clustername> .
      provedor O provedor de nuvem: GCP ou AWS ou Azure.
      cluster_resource_id Exemplo de ID de recurso do cluster:
      • Azure Kubernetes ID do recurso.
      • ARN do cluster AWS.
      • GCP- Nome global do cluster.
    9. Crie uma Programação do Discovery sem servidor para o padrão Kubernetes Event. Configure a programação para ser executada a cada 5 ou 10 minutos.
      Nota:
      Quando o padrão é executado pela primeira vez, ele armazena um event_timestamp. Mais tarde, ele coleta somente os eventos delta com base no carimbo de data e hora. Quanto mais o padrão for executado, menos atualizações no IRE do CMDB vão ser necessárias.

      Crie um padrão de execução sem servidor para a programação de descoberta e atribua-o ao padrão Kubernetes Events. Configure os parâmetros exigidos pelo padrão Kubernetes conforme descrito na Configuração de atributos de padrão de execução.

    10. Para incluir componentes descobertos em instâncias de serviço, habilite os relacionamentos de IC usados na descoberta baseada em marcador por Mapeamento de serviços. Esses relacionamentos de IC estão disponíveis a partir da versão 1.0.68 do ServiceNow Store. Para obter as etapas operacionais, consulte Configuração de descoberta baseada em marcador.

    Pré-requisitos da descoberta de infraestrutura em Nuvem do Kubernetes.

    Para Google Cloud Platform (GCP). Obter Kubernetes Clusters padrão, execute o seguinte:

    1. Na instância ServiceNow, configure uma conta de serviço Google Cloud Platform (GCP) com credenciais e permissões válidas.
    2. Na infraestrutura GCP, configure o MID Server com acesso total a todas as APIs em Nuvem: defina os escopos de acesso à API em Nuvem como "Permitir acesso total a todas as APIs em Nuvem". A instância do MID Server pode acessar somente os Clusters específicos do projeto.
    3. Navegue até sys_properties.list e configure as seguintes propriedades:
      • sn_itom_pattern.k8s_midserver: especifique um nome de MID Server válido.
      • sn_itom_pattern.k8s_create_schedule_enabled: defina o valor como verdadeiro.
        Nota:
        Habilitando o. sn_itom_pattern.k8s_create_schedule_enableda propriedade cria automaticamente uma programação sem servidor para seus clusters de nuvem, eliminando a necessidade de programação manual. Se você tiver uma programação manual existente e quiser convertê-la em uma automática, habilite a propriedade . Sua programação manual será atualizada; nenhuma programação adicional será criada.
    4. Criar e executar Google Cloud Descoberta
      Nota:

      Para buscar o token do portador ao executar o GKE Kubernetes, use o comando gcloud:

      gcloud config config-helper --format="value(credential.access_token)"

      Configurar o gcloud na instância do MID Server concede acesso ao cluster do GKE para buscar o token.

    Para a descoberta de cluster Amazon Elastic Kubernetes Service (EKS), execute o seguinte:

    1. Na instância ServiceNow, configure uma conta de serviço AWS com credenciais e permissões de conta de gestão válidas.
      1. Certifique-se de que o Cluster Amazon Elastic Kubernetes Service (EKS) tenha uma função de cluster com acesso somente de leitura a todos os recursos.
      2. Crie uma vinculação de função de cluster entre a função de cluster e um usuário do Kubernetes. Por exemplo, usuário somente de leitura.
      3. Crie uma função de IAM AWS com a política EKSReadOnly.
      4. Associe a função de IAM ao usuário do Kubernetes de uma das seguintes maneiras:
        • No cluster, edite o ConfigMap da aws-auth.
        • Executar o comando:

          eksctl create iamidentitymapping --cluster yourClusterName --arnarn:aws:iam::yourAccountID:role/yourIAMRoleName --username read-only-user

    2. Execute a descoberta de cluster do Amazon Elastic Kubernetes Service (EKS) de uma das duas maneiras: Usando a Interface de linha de comando (CLI) da AWS ou sem usar a CLI do AWS. Primeiro, defina a propriedade do sistema sn_itom_pattern.k8s_aws_cli_to_generate_tokenpara usar o modelo escolhido. Esta propriedade do sistema é definida como verdadeira por padrão.

      • Defina esta propriedade do sistema como verdadeiro para usar AWS CLI para gerar um token.

      • Defina esta propriedade do sistema como falso Para usar funções Assumir para gerar um token.

      1. Execute a descoberta de cluster do Amazon Elastic Kubernetes Service (EKS) usando a CLI do AWS:

        1. Configure o MID Server com o CLI do AWS configurado. Configurar credenciais da CLI do AWS concede acesso ao cluster do Amazon Elastic Kubernetes Service (EKS).

          Nota:
          O usuário conectado ao sistema deve ser o mesmo que o usuário do MID Server.
        2. Para gerar o token do portador, ao executar o. Amazon Elastic Kubernetes Service (EKS) programação, use AWS Comando da CLI: aws eks get-token --cluster-name <cluster_name> .

          Configurando o. AWS Usuário/função da CLI no MID Server a instância concede acesso ao Amazon Elastic Kubernetes Service (EKS) cluster para gerar o token.

      2. Execute a descoberta do cluster Amazon Elastic Kubernetes Service (EKS) sem usar a CLI da AWS:

        Nota:

        Este recurso é compatível com a versão 1.0.96 do Padrões de descoberta e mapeamento de serviços - dezembro de 2022.

        Consulte a seguinte base de conhecimento para obter instruções detalhadas: KB1182188: descoberta de cluster do EKS usando STS AssumeRoles (sem CLI da AWS)

    3. Navegue até sys_properties.list e configure as seguintes propriedades:
      • sn_itom_pattern.k8s_midserver: especifique um nome de MID Server válido.
      • sn_itom_pattern.k8s_create_schedule_enabled: defina o valor como verdadeiro.
        Nota:
        Habilitando o. sn_itom_pattern.k8s_create_schedule_enableda propriedade cria automaticamente uma programação sem servidor para seus clusters de nuvem, eliminando a necessidade de programação manual. Se você tiver uma programação manual existente e quiser convertê-la em uma automática, habilite a propriedade . Sua programação manual será atualizada; nenhuma programação adicional será criada.
    4. Crie e execute uma programação da Descoberta na nuvem da AWS.

    Para Microsoft Azure Kubernetes Serviços (AKS)- Kubernetes descoberta de cluster, execute o seguinte:

    1. Atualize para o mais recente Padrões de descoberta e mapeamento de serviços versão.
    2. Em ServiceNow instância, configure o. Azure Conta de serviço com válido Azure credenciais e permissão.
    3. Navegue até sys_properties.list e configure as seguintes propriedades:
      • sn_itom_pattern.k8s_midserver: especifique um nome de MID Server válido.
      • sn_itom_pattern.k8s_create_schedule_enabled: defina o valor como verdadeiro.
        Nota:
        Habilitando o. sn_itom_pattern.k8s_create_schedule_enableda propriedade cria automaticamente uma programação sem servidor para seus clusters de nuvem, eliminando a necessidade de programação manual. Se você tiver uma programação manual existente e quiser convertê-la em uma automática, habilite a propriedade . Sua programação manual será atualizada; nenhuma programação adicional será criada.
        .
    4. Se você não tiver contas locais com Kubernetes RBAC e quiser melhorar a eficiência do padrão, navegue até MID Server > Propriedades e defina sn_itom_pattern.aks_fetch_local_ad_tokenpropriedade para falso .
    5. Execute um Azure programação de descoberta em nuvem.
    6. Configure o. MID Server em Descoberta programe de acordo com o tipo de conta do cluster. Se você não tiver contas locais com RBAC, poderá ignorar esta etapa.

      Tipo de conta de cluster Descoberta programação MID Server

      Autenticação do MS Entra ID com Kubernetes RBAC.

      Qualquer MID Server.

      Autenticação do MS Entra ID com Azure RBAC.

      Qualquer MID Server.

      Contas locais com Kubernetes RBAC.

      Selecione MID Server com Azure CLI (Command Line Interface, interface de linha de comando) configurada. Configurando o. Azure As credenciais da CLI concedem acesso ao cluster do AKS.

      Para buscar o token do portador durante a execução do AKS Kubernetes programação, use Azure Comando da CLI: az aks get-credentials --name <cluster_name> --overwrite-existing --resource-group <resourceGroup_name> --file - .

      Nota:
    Tabela 2. Outra configuração de sistema compatível
    Nome da propriedade Descrição da propriedade Tipo Valor padrão

    sn_itom_pattern.manifest_digest_image_id

    Booliano

    falso

    Nota:
    Antes de definir esta propriedade como verdadeiro e executando descoberta: impeça a criação de registros duplicados excluindo todos Docker registros de imagem.

    sn_itom_pattern.k8s_create_schedule_enabled

    O sinalizador do recurso que pode ser habilitado/desabilitado nas propriedades do sistema, que é responsável por controlar a execução do padrão. Quando habilitado, ele cria cronogramas de descoberta, apesar do novo valor de propriedade.

    Booliano falso
    sn_itom_k8s_run_cloud_discovery Quando habilitada, esta propriedade executa padrões do K8s na nuvem, descobrindo clusters do K8s sem criar cronogramas automáticos. Booliano falso
    MID Server

    sn_itom_pattern.k8s_midserver

    [Padrão]

    Exemplo: nome de MID Server válido

    Cadeia de caracteres

    sn_itom_pattern.k8s_<service_account_id>_midserver

    [Com base no nível de conta de serviço]

    Exemplo: nome de MID Server válido

    Cadeia de caracteres

    sn_itom_pattern.k8s_<service_account_id>_<clustername>_midserver

    [Baseado no nome do Cluster]

    Exemplo: nome de MID Server válido

    Cadeia de caracteres

    sn_itom_pattern.kubernetes_collect_volume

    Quando a propriedade está definida como Verdadeiro , Os dados do Volume do Kubernetes [cmdb_ci_kubernetes_volume] são preenchidos.

    Cadeia de caracteres falso
    Alias de credencial

    sn_itom_pattern.k8s_ cred_alias

    [Padrão]

    Exemplo: nome do alias de credencial

    Cadeia de caracteres

    sn_itom_pattern.k8s_<service_account_id>_alias

    [Com base no nível de conta de serviço]

    Exemplo: nome do alias de credencial válido.

    Cadeia de caracteres

    sn_itom_pattern.k8s_<service_account_id>_<clustername>_alias

    [Baseado no nome do Cluster]

    Exemplo: nome do alias de credencial válido.

    Cadeia de caracteres
    URL do Prometheus

    sn_itom_pattern.k8s_ prometheusUrl

    [Padrão]

    Exemplo: URL válido do Prometheus

    Cadeia de caracteres

    sn_itom_pattern.k8s_<service_account_id>_prometheusUrl

    [Com base no nível de conta de serviço]

    Exemplo: URL válido do Prometheus

    Cadeia de caracteres

    sn_itom_pattern.k8s_<service_account_id>_<clustername>_prometheusUrl

    [Baseado no nome do Cluster]

    Exemplo: URL válido do Prometheus

    Cadeia de caracteres

    sn_itom_pattern.k8s_ run

    [Execução de Programação do Discovery compatível - Diariamente, Sob Demanda, Dias da semana, Fins de Semana, Último Dia do Mês, Fim do trimestre do calendário]

    Exemplo: diariamente

    Cadeia de caracteres

    sn_itom_pattern.k8s_batch_count

    [Refere-se a quantas programações serão executadas em lote - padrão definido como 5]

    Exemplo: 5 (Número de programações a serem executadas no lote)

    Inteiro 5

    sn_itom_pattern.k8s_schedule_batch_delay

    [mantém registros da diferença de tempo entre o valor de dois lotes em segundos]

    Exemplo: 300 (em segundos)

    Inteiro

    sn_itom_pattern.k8s_run_time

    [mantém registros da hora atual de um lote]

    Se esta propriedade estiver definida, você poderá usar a mesma ou usar nosso tempo dinâmico, que será 5 mínimo após o tempo atual do sistema. Os valores contêm o formato HH:MM:SS

    Exemplo: 10:11:12 (HH:MM:SS)

    Cadeia de caracteres
    Nota:
    <service_account_id> é o nome do ID da conta em Contas de serviço em nuvem. Para obter mais informações, consulte: Crie cronogramas para descobrir recursos de nuvem em Descoberta na nuvem.

    Descoberta sem credencial ou MID em cluster do Kubernetes

    Pré-requisitos do Kubernetes para descoberta sem credenciais:

    Implantar o contêiner MID Server para Kubernetes cluster. Configurando Kubernetes credenciais são desnecessárias desde MID Server em Kubernetes O cluster descobre automaticamente o servidor de API e autentica.

    Tabela 3. Configuração de atributos de padrão de execução para descoberta sem credenciais
    Campo Descrição
    URL

    Insira qualquer um dos seguintes valores no campo URL:

    https://cluster

    Ou

    https://kubernetes.default.svc

    namespace

    Os namespaces que o sistema passa no Kubernetes Configuração da Descoberta. Insira um dos seguintes valores:

    • Namespace individual: Insira o namespace e, em seguida, "kube-system". Por exemplo: dev, kube-system
    • O valor padrão. Inserir: kube-system
    • Namespaces de várias pilhas: Insira os namespaces, use uma vírgula (,) para separar os valores e insira "kube-system". Por exemplo: aplicação,teste,kube-system
    • Todos os namespaces: Use um asterisco (*) para inserir todos os namespaces.
    cluster_name Insira um nome exclusivo.

    Dados coletados pelo Descoberta durante a descoberta horizontal

    Tabela e campo Descrição
    Cluster do Kubernetes [cmdb_ci_kubernetes_cluster]
    Nome O nome do líder do kube-controller-manager.
    K8s_uid O UID do namespace do kube-system [versões compatíveis: 1.0.92 e posteriores]
    ip_address O identificador do host_ip do apiserver Kubernetes.
    port

    O identificador da porta do apiserver do Kubernetes.

    namespace Este valor mostra os namespaces que o sistema informou na configuração do Discovery do Kubernetes.
    event_timestamp O carimbo de data/hora do último evento criado neste cluster do Kubernetes no momento da descoberta.
    Nó do Kubernetes [cmdb_ci_kubernetes_node] O aspecto virtual do nó do Kubernetes. Os dados relacionados ao aspecto físico do nó do Kubernetes são armazenados em servidor Linux.
    nome O nome do nó do Kubernetes. O formato pode ser apenas o nome da máquina ou o nome completo que consiste no nome e no nome do host: <name>.<hostname>.
    k8s_uid O identificador para o UUID do nó do Kubernetes.
    cluster O nome do cluster que contém este recurso.
    operational_status O status operacional do nó do Kubernetes.
    Serviço do Kubernetes [cmdb_ci_kubernetes_service]
    nome O nome do serviço do Kubernetes.
    seletor Uma lista delimitada por vírgulas dos seletores de rótulo especificados na configuração do Kubernetes que são usados para selecionar pods de destino.
    namespace O namespace do Kubernetes ao qual este serviço do Kubernetes pertence.
    k8s_uid O UUID de serviço do Kubernetes.
    cluster O nome do cluster que contém este recurso.
    Pod do Kubernetes [cmdb_ci_kubernetes_pod]
    nome O nome do pod do Kubernetes.
    k8s_uid O UUID do pod do Kubernetes.
    resourceVersion A versão do recurso do pod do Kubernetes.
    namespace O namespace do Kubernetes ao qual este pod do Kubernetes pertence.
    cluster O nome do cluster que contém este recurso.
    estado

    . Kubernetes Status do pod: Pendente, Em execução, Bem-sucedido, E com falha Desconhecido.

    Cronjob do Kubernetes [cmdb_ci_kubernetes_cronjob]
    nome O nome do Kubernetes cronjob
    namespace O namespace do Kubernetes ao qual este pod do Kubernetes pertence.
    k8s_uid O UUID do cronjob do Kubernetes.
    cluster O nome do cluster que contém este recurso.
    Trabalho do Kubernetes [cmdb_ci_kubernetes_job]
    nome O nome do trabalho do Kubernetes
    namespace O namespace do Kubernetes ao qual este trabalho do Kubernetes pertence.
    k8s_uid O UUID do trabalho do Kubernetes.
    cluster O nome do cluster que contém o trabalho do Kubernetes.
    Daemonset do Kubernetes [cmdb_ci_kubernetes_daemonset]
    nome O nome do daemonset do Kubernetes.
    namespace O namespace do Kubernetes ao qual este daemonset do Kubernetes pertence.
    k8s_uid O UUID do daemonset do Kubernetes.
    cluster O nome do cluster que contém este recurso.
    pods_avail O número de pods disponíveis.
    pods_failed O número de pods na fase Com falha.
    pods_running O número de pods na fase Em execução.
    pods_succeeded O número de pods na fase Com êxito.
    pods_waiting O número de pods na fase Aguardando.
    Ingresso do Kubernetes [cmdb_ci_kubernetes_ingress]
    nome O nome do Kubernetes ingresso
    namespace O namespace do Kubernetes ao qual este ingresso do Kubernetes pertence.
    k8s_uid O UID do ingresso do Kubernetes
    cluster O nome do cluster que contém este recurso.

    Implantação do Kubernetes [cmdb_ci_kubernetes_deployment]

    Replicaset do Kubernetes [cmdb_ci_kubernetes_replicaset]

    Controlador de replicação do Kubernetes [cmdb_ci_kubernetes_replicationcontroller]

    Statefulset do Kubernetes [cmdb_ci_kubernetes_statefulset]

    nome O nome deste recurso
    namespace O namespace do Kubernetes ao qual este recurso pertence.
    K8s_uid O UID do Kubernetes deste recurso
    cluster O nome do cluster que contém este recurso.
    total_replicas Número de réplicas neste recurso
    desired_replicas O número de réplicas na fase desejada
    available_replicas Número de réplicas disponíveis
    unavailable_replicas Número de réplicas na fase Indisponível
    updated_replicas Número de réplicas atualizadas
    Contêiner do Docker [cmdb_ci_docker_container] O componente que executa a imagem do Docker.
    container_id O identificador exclusivo do Kubernetes contêiner do docker

    Nos casos em que registros duplicados são criados, as tarefas de desduplicação aparecem depois que a descoberta é executada. Para obter informações sobre como resolver essas tarefas, consulte Tornar o identificador de contêiner docker independente [KB1443042] artigo no ServiceNow® Base de conhecimento.

    namespace O namespace do Kubernetes ao qual este contêiner do docker do Kubernetes pertence.
    Imagem do docker [cmdb_ci_docker_image] Um pacote executável de uma aplicação e seu software relacionado que pode ser instanciado por um contêiner do docker
    image_id O identificador da Kubernetes imagem do docker
    name O nome da imagem do docker do Kubernetes.
    image_url O URL para baixar a imagem do docker.
    namespace O namespace do Kubernetes ao qual esta imagem do docker do Kubernetes pertence.
    Servidor Linux [cmdb_ci_linux_server] O servidor que hospeda o nó do Kubernetes.
    name O nome do servidor Linux que alimenta o nó do Kubernetes.
    hostname O nome do host do servidor Linux.
    os O sistema operacional implantado neste servidor Linux.
    kernel_release A versão do sistema operacional do kernel Linux implantado neste servidor Linux.
    ram O tamanho da RAM instalada neste servidor Linux.
    ip_address O endereço IP do servidor Linux.
    Valor da chave [cmdb_key_value] Este item de configuração contém rótulos do Kubernetes. Rótulos são pares de chave/valor anexados a objetos, como pods.
    chave A chave do parâmetro do Key Value do pod do Kubernetes ou serviço do Kubernetes.
    value O valor do parâmetro do Key Value do pod do Kubernetes ou serviço do Kubernetes.
    Volume do Kubernetes [cmdb_ci_kubernetes_volume]
    k8s_uid O UUID do volume do Kubernetes.
    mount_path O caminho para acessar este volume do Kubernetes.
    nome O nome do volume do Kubernetes.
    namespace O namespace do Kubernetes ao qual este volume do Kubernetes pertence.
    cluster O nome do cluster que contém este recurso.
    volume_id O ID do volume do Kubernetes.
    Configuração implantada do OpenShift [cmdb_ci_openshift_dep_conf]​
    nome O nome da configuração de implantação do OpenShift.
    namespace O nome do namespace que contém a configuração de implantação.
    k8s_uid O UUID do volume do Kubernetes.
    URL O URL do OpenShift configuração implantada, disponível somente para Kubernetes versões anteriores à 1,16.
    Configuração de compilação do OpenShift [cmdb_ci_openshift_build_conf]
    nome O nome da configuração de compilação do OpenShift.
    namespace O nome do namespace do OpenShift que contém a configuração de compilação.
    k8s O UUID do volume do Kubernetes.
    URL O URL do OpenShift configuração de compilação, disponível somente para Kubernetes versões anteriores à 1,16.
    Source2Image do OpenShift [cmdb_ci_openshift_source_2_image]
    name O nome da imagem de origem do OpenShift.
    to Imagem relacionada.
    parent_id O ID da imagem de origem do OpenShift.
    Rota do OpenShift [cmdb_ci_openshift_route]
    nome O nome da rota do OpenShift.
    namespace O nome do namespace que contém a rota do OpenShift.
    k8s_uid O UUID do volume do Kubernetes.
    URL O URL do OpenShift Rota, disponível somente para Kubernetes versões anteriores à 1,16.
    Host O host de destino da rota do OpenShift.
    port A porta de destino da rota do OpenShift.
    Grupo do OpenShift [cmdb_ci_openshift_group]
    name O nome do grupo do OpenShift.
    k8s_uid O UUID do volume do Kubernetes.
    URL O URL do OpenShift Grupo, disponível somente para Kubernetes versões anteriores à 1,16.
    Usuário do OpenShift [cmdb_ci_openshift_user]
    name O nome do usuário do OpenShift.
    k8s_uid O UUID do volume do Kubernetes.
    URL O URL do OpenShift usuário, disponível somente para Kubernetes versões anteriores à 1,16.
    full_name O nome completo do usuário do OpenShift.
    Projeto do OpenShift [cmdb_ci_openshift_project]
    name O nome do projeto do OpenShift.
    k8s_uid O UUID do volume do Kubernetes.
    URL O URL do OpenShift Projeto, disponível somente para Kubernetes versões anteriores à 1,16.
    Imagem do OpenShift [cmdb_ci_openshift_images]
    name O nome da imagem do OpenShift.
    k8s_uid O UUID do volume do Kubernetes.
    URL O URL do OpenShift Imagem, disponível somente para Kubernetes versões anteriores à 1,16.
    docker_image_metadata_id O ID da imagem do docker.
    docker_image_metadata_parent_id O ID do ID primário da imagem.
    arch Arquitetura da imagem.
    size O tamanho da imagem.
    hostname O nome do host relacionado à imagem.
    Fluxo de imagens do OpenShift [cmdb_ci_openshift_images_stream]
    name O nome do Fluxo de imagens do OpenShift.
    k8s_uid O UUID do volume do Kubernetes.
    URL O URL do OpenShift Fluxo de imagens, disponível somente para Kubernetes versões anteriores à 1,16.
    namespace O nome do namespace que contém o fluxo de imagens do OpenShift.
    Repositório de imagens do Docker do OpenShift [cmdb_ci_openshift_docker_images_repository]
    nome O nome do repositório de imagens do docker do OpenShift.
    parent_ID O ID do sistema primário.
    Namespace [cmdb_ci_kubernetes_namespace]
    nome O nome do namespace do Kubernetes.
    estado

    . Kubernetes Fases do namespace: Ativo ou Encerrando.

    Esses dados são coletados pela seção de extensão Collect Container Repository.
    Tabela e campo Descrição
    Repositório de contêineres [cmdb_ci_container_repository]
    Nome [nome] O nome do repositório de contêineres.
    Entrada do repositório de contêineres [cmdb_ci_container_repository_entry]
    Nome [nome] O nome da entrada do repositório de contêineres.
    Categoria [categoria] A categoria da entrada do repositório de contêineres.
    O gráfico ilustra ICs que fazem parte da descoberta do Kubernetes.
    Nota:
    Este mapa de Visualizações de dependências foi simplificado para maior clareza. Suas implantações do Kubernetes podem conter muito mais ICs.
    Figura 1. Componentes da Kubernetes implantação

    Relacionamentos entre itens de configuração do Kubernetes e tabelas de carga de trabalho do Kubernetes
    Figura 2. Componentes da implantação do Kubernetes, incluindo OpenShift

    O namespace contém itens de configuração do OpenShift

    Relacionamentos de IC coletados pelo padrão Kubernetes

    Esses relacionamentos são criados por Kubernetes padrão :
    IC Relacionamento IC
    Cluster do Kubernetes [cmdb_ci_kubernetes_cluster] Contém :: Contido por

    Serviço do Kubernetes [cmdb_ci_kubernetes_service]

    Contém :: Contido por Pod do Kubernetes [cmdb_ci_kubernetes_pod]
    Contém :: Contido por Ingresso do Kubernetes [cmdb_ci_kubernetes_ingress]
    Contém :: Contido por

    Namespace do Kubernetes [cmdb_ci_kubernetes_namespace]

    Contains::Contained By [cmdb_ci_openshift_source_2_image]
    Contains::Contained By Grupo do OpenShift [cmdb_ci_openshift_group]
    Contém :: Contido por Usuário do OpenShift [cmdb_ci_openshift_user]
    Contém :: Contido por Projeto do OpenShift [cmdb_ci_openshift_project]
    Contains::Contained By Imagem do OpenShift [cmdb_ci_openshift_images]
    Contains::Contained By Repositório de imagens do Docker do OpenShift[cmdb_ci_openshift_docker_images_repository]
    Cluster of::Cluster Nó do Kubernetes [cmdb_ci_kubernetes_node]
    Manages::Managed by Servidor Linux [cmdb_ci_linux_server]
    Contido por: contém Grupo de recursos [cmdb_ci_resource_group]
    Pod do Kubernetes [cmdb_ci_kubernetes_pod] Contains::Contained By Contêiner do Docker [cmdb_ci_docker_container]
    Contains::Contained By Imagem do docker [cmdb_ci_docker_image]
    Contém :: Contido por Volume do Kubernetes [cmdb_ci_kubernetes_volume]

    Carga de trabalho do Kubernetes [cmdb_ci_kubernetes_workload]

    Hosted on::Hosts Cluster do Kubernetes [cmdb_ci_kubernetes_cluster]
    Serviço do Kubernetes [cmdb_ci_kubernetes_service] Provides::Provided By

    Carga de trabalho do Kubernetes [cmdb_ci_kubernetes_workload]

    Implantação do Kubernetes [cmdb_ci_kubernetes_deployment]

    Owns::Owned By

    Replicaset do Kubernetes [cmdb_ci_kubernetes_replicaset]

    Replicaset do Kubernetes [cmdb_ci_kubernetes_replicaset]

    IInstanciates:: Instanciado por Pod do Kubernetes [cmdb_ci_kubernetes_pod]
    Carga de trabalho do Kubernetes [cmdb_ci_kubernetes_workload] Provided By::Provides To Serviço do Kubernetes [cmdb_ci_kubernetes_service]
    Implantação do Kubernetes [cmdb_ci_kubernetes_deployment] Hosted on::Hosts Cluster do Kubernetes [cmdb_ci_kubernetes_cluster]
    Daemonset do Kubernetes [cmdb_ci_kubernetes_daemonset] Hosted on::Hosts Cluster do Kubernetes [cmdb_ci_kubernetes_cluster]
    Statefulset do Kubernetes [cmdb_ci_kubernetes_statefulset] Hosted on::Hosts Cluster do Kubernetes [cmdb_ci_kubernetes_cluster]
    Namespace do Kubernetes [cmdb_ci_kubernetes_namespace]​ Contains::Contained By Configuração implantada do OpenShift [cmdb_ci_openshift_dep_conf​]
    Contains::Contained By Configuração de compilação do OpenShift [cmdb_ci_openshift_build_conf]
    Contains::Contained By Rota do OpenShift [cmdb_ci_openshift_route]
    Contains::Contained By Fluxo de imagens do OpenShift [cmdb_ci_openshift_images_stream]
    Imagem do docker [cmdb_ci_docker_image] Instantiates::Instantiated by Contêiner do Docker [cmdb_ci_docker_container]
    Servidor Linux [cmdb_ci_linux_server] Contém :: Contido por Pod do Kubernetes [cmdb_ci_kubernetes_pod]
    Runs::Runs on Contêiner do Docker [cmdb_ci_docker_container]
    Hosts::Hosted on Nó do Kubernetes [cmdb_ci_kubernetes_node]
    Configuração de implantação do OpenShift [cmdb_ci_openshift_dep_conf​] Contém :: Contido por [cmdb_ci_config_file_tracked​]
    A seção de extensão Collect Container Repository do padrão do Kubernetes identifica esses relacionamentos.
    IC Relacionamento IC
    Imagem do docker [cmdb_ci_docker_image] Provisionado de:: Provisionado Entrada do repositório de contêineres [cmdb_ci_container_repository_entry]
    Entrada do repositório de contêineres [cmdb_ci_container_repository_entry] Hospedado em: hosts Repositório de contêineres [cmdb_ci_container_repository]

    Relacionamentos de IC coletados pela extensão da Malha de serviço do Istio

    Pré-requisitos da extensão da Malha de serviço do Istio:

    • Certifique-se de que os componentes da Malha de serviço do Istio e do Prometheus estejam configurados no cluster do Kubernetes.
    • Certifique-se de que o Prometheus descubra as informações de conexão de serviço usando o comando queryistio_requests_total.
    • Certifique-se de que os serviços de aplicações estejam conectados e verifique o fluxo de tráfego de serviço a serviço no gráfico de Kiali.

    Para obter mais informações sobre a aplicação Bookinfo, consulte: https://istio.io/latest/docs/examples/bookinfo/

    IC Relacionamento IC
    Serviço do Kubernetes [cmdb_ci_kubernetes_servi ce] Connects to::Connected by Serviço do Kubernetes [cmdb_ci_kubernetes_servi ce]

    Relacionamentos de IC coletados pelo padrão Evento do Kubernetes

    Esses relacionamentos são criados para oferecer suporte à descoberta do evento do Kubernetes:
    IC Relacionamento IC
    Cluster do Kubernetes [cmdb_ci_kubernetes_cluster] Contém :: Contido por

    Serviço do Kubernetes [cmdb_ci_kubernetes_service]

    Contém :: Contido por Pod do Kubernetes [cmdb_ci_kubernetes_pod]
    Cluster of::Cluster Nó do Kubernetes [cmdb_ci_kubernetes_node]
    Manages::Managed by [cmdb_ci_linux_server]
    Pod do Kubernetes [cmdb_ci_kubernetes_pod] Contains::Contained By Contêiner do Docker [cmdb_ci_docker_container]
    Contains::Contained By Imagem do docker [cmdb_ci_docker_image]
    Contém :: Contido por Volume do Kubernetes [cmdb_ci_kubernetes_volume]
    Imagem do docker [cmdb_ci_docker_image] Instantiates::Instantiated by Contêiner do Docker [cmdb_ci_docker_container]
    Servidor Linux [cmdb_ci_linux_server] Contém :: Contido por Pod do Kubernetes [cmdb_ci_kubernetes_pod]
    Runs::Runs on Contêiner do Docker [cmdb_ci_docker_container]
    Hosts::Hosted on Nó do Kubernetes [cmdb_ci_kubernetes_node]

    Dados coletados pelo Mapeamento de serviços durante a descoberta baseada em marcadores

    O Mapeamento de serviços usa descoberta baseada em marcadores para criar mapas de serviço de aplicativos, incluindo os componentes do Kubernetes. O Mapeamento de serviços vem com os seguintes relacionamentos de IC pré-configurados, que são usados para descoberta baseada em marcadores. Esses relacionamentos de IC estão disponíveis na versão 1.0.68 em ServiceNow Store.
    IC Relacionamento IC
    Serviço do Kubernetes [cmdb_ci_kubernetes_service] Contido por: contém Cluster do Kubernetes [cmdb_ci_kubernetes_cluster]
    Projeto do OpenShift [cmdb_ci_openshift_project] Contido por: contém Cluster do Kubernetes [cmdb_ci_kubernetes_cluster]
    Pod do Kubernetes [cmdb_ci_kubernetes_pod] Contido por: contém Cluster do Kubernetes [cmdb_ci_kubernetes_cluster]
    Pod do Kubernetes [cmdb_ci_kubernetes_pod] Cluster :: Cluster de Serviço do Kubernetes [cmdb_ci_kubernetes_service]
    Namespace do Kubernetes [cmdb_ci_kubernetes_namespace] ​ Contém :: Contido por Configuração implantada do OpenShift [cmdb_ci_openshift_dep_conf​]
    Namespace do Kubernetes [cmdb_ci_kubernetes_namespace] ​ Contém :: Contido por Configurações de compilação do OpenShift [cmdb_ci_openshift_build_conf]
    Namespace do Kubernetes [cmdb_ci_kubernetes_namespace] ​ Contém :: Contido por Rota do OpenShift [cmdb_ci_openshift_route]
    Namespace do Kubernetes [cmdb_ci_kubernetes_namespace] ​ Contém :: Contido por Fluxo de imagens do OpenShift [cmdb_ci_openshift_images_stream]

    Painel do Kubernetes

    Após Descoberta conclui a descoberta de componentes do Kubernetes implantação, você pode navegar até Espaços > Espaço do administrador da Descoberta > Informações e usam Explorador Kubernetes painel para exibir Kubernetes ambientes e recursos da sua organização. Para usar o aprimorado Kubernetes painel, verifique se você tem Espaço do administrador da Descobertaa partir de Versão 1.3.1 (agosto de 2024 Store) . Para obter mais informações sobre Explorador Kubernetes, consulte Explorador Kubernetes.

    Solução de problemas

    Se o processo de mapeamento não prosseguir conforme o esperado, siga as sugestões a seguir.
    Sintoma Causa Solução
    A Descoberta falha. A mensagem de descoberta contém as informações sobre um erro causado pelo tempo limite de REST. Há muitos ICs enviando a resposta da chamada REST na implantação. O MID Server não pode processar a resposta da chamada REST sem exceder o limite de tempo controlado pelo parâmetro mid.sa.cloud.request_timeout. Por padrão, o parâmetro mid.sa.cloud.request_timeout é definido como 30000 milissegundos.
    Aumente o valor deste parâmetro no relevante MID Server e execute a descoberta novamente.
    Nota:
    Se a lista relacionada Parâmetros de configuração para o MID Server relevante não mostrar este parâmetro, talvez seja necessário adicioná-lo.
    O Designer de padrões falha durante uma sessão de depuração. A mensagem do Designer de padrões contém informações sobre um erro causado por um tempo limite. O Designer de padrões falha devido a um tempo limite durante a depuração de padrão (e não durante a descoberta). Por padrão, o parâmetro sa.debugger.max_timeout é definido como 240 segundos.

    Aumente o valor desse parâmetro no MID Server relevante.

    Para executar o padrão Kubernetes no modo de depuração, consulte KB0832567 para obter informações operacionais.