Descoberta de Kubernetes
O ServiceNow Visibilidade do ITOM encontra os componentes Kubernetes e OpenShift 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 o ambiente dinâmico Kubernetes.
- A seção de extensão Collect OpenShift info do padrão Kubernetes descobre os componentes OpenShift da implantação de Kubernetes. A seção OpenShift de extensão de 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 da malha de serviço está disponível nas classes de extensão do Kubernetes. É compatível com o Now 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.
- Google Cloud Platform (GCP): Obter Kubernetes Clusters.
- Amazon Web Services (AWS) - Obter Kubernetes Clusters.
- Serviços de computação em nuvem do Microsoft Azure- Obter Kubernetes Clusters.
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
- Implante a mais recente aplicação Discovery and Service Mapping Patterns na ServiceNow Store.
- Na plataforma Kubernetes, encontre os parâmetros para configurar a descoberta Kubernetes :
- Encontre o URL do servidor kubeapi:
- Na plataforma Kubernetes, execute o seguinte comando:
kubectl cluster-info - 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
- Na plataforma Kubernetes, execute o seguinte comando:
- Encontre os namespaces do servidor kubeapi:
- Na plataforma Kubernetes, execute este comando:
kubectl get namespaces - Na saída, encontre a linha que indica os namespaces. Por exemplo,
kube-system.
- Na plataforma Kubernetes, execute este comando:
- Encontre o nome de usuário e a senha do Kubernetes:
- Na plataforma Kubernetes, execute este comando:
kubectl config view - Na saída, encontre o nome de usuário e a senha.Nota:Se em um determinado ambiente, o comando
kubectl config viewnão estiver mostrando os detalhes esperados, use o comandosupporteddo administrador Kubernetes para obter os detalhes do nome de usuário e da senha.
- Na plataforma Kubernetes, execute este comando:
- Encontre o token do portador válido com as permissões apropriadas:
- Se não tiver o nome do token padrão, use o comando:
kubectl describe secret. - A saída mostra todas as contas e todos os tokens. Encontre o token válido:
Onde
kubectlé a conta genérica Kubernetes,describeé o método kubectl genérico.O parâmetro
secretreflete que, no cluster Kubernetes, o token padrão é protegido por ser contido dentro do objeto do tipo secret .A saída do comando
kubectl descrever secretoestá no formato codificado BASE64. -
Se você souber o nome do token padrão, use o comando:
kubectl describe secret default-token-g6pwc.O
default-token-g6pwcreflete o valor do parâmetro do token padrão para g6pwc. - A saída mostra todos os tokens existentes para esta conta Kubernetes.
Escolha um token a ser usado para configurar credenciais Kubernetes na plataforma ServiceNow.
- Se não tiver o nome do token padrão, use o comando:
- Encontre o URL do servidor kubeapi:
- Certifique-se de que o servidor da API possa ser acessado pelo MID Server para uma descoberta Kubernetes bem-sucedida.
- Certifique-se de que o usuário configurado na plataforma Kubernetes tenha as 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
- Para descobrir os componentes OpenShift da implantação do Kubernetes, certifique-se de que o usuário configurado na plataforma Kubernetes tenha as 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.
- 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 dos 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. - Crie as credenciais Kubernetes na plataforma ServiceNow :
- Na plataforma ServiceNow, navegue até .
- Selecione Novo.
- Selecione Credenciais do Kubernetes.
- Configure os campos do formulário (consulte a tabela):
Campo Descrição Nome Insira um nome exclusivo e descritivo para esta credencial. Nome de usuário Insira o nome de usuário a ser criado na tabela Credenciais. Evite espaços iniciais ou finais em nomes de usuário. Um aviso vai ser exibido se a plataforma detectar espaços iniciais ou finais no nome de usuário. Senha Insira a senha para esta credencial. Token de Portador Para autenticação avançada usando um token do portador, insira o token do portador que Descoberta usa para autenticação ao acessar Kubernetes. Use a sequência de caracteres como token, por exemplo, 31ada4fd-adec-460c-809a-9e56ceb75269. Nota:O token do portador deve estar no formato codificado BASE64.Autenticação do Token do Portador Para autenticação avançada usando um token do portador, marque esta caixa de seleção. Alias de credencial Configure o alias para usar a credencial do Kubernetes para dispositivos e aplicações diferentes do Kubernetes. Este alias também vai ser usado para definir uma programação de descoberta sem servidor para descobrir a implantação do Kubernetes. - Selecione o ícone de cadeado e, em seguida, selecione o ícone de pesquisa.
- No formulário Aliases de Conexão e Credencial, selecione Novo.
- Especifique um nome para o registro de alias de credencial.
- Defina atributos para o alias. Defina o Type como Credencial.
- Clique com o botão direito do mouse no cabeçalho do formulário e selecione Salvar e, em seguida, Atualizar.
- No formulário Aliases de conexão e credencial, selecione o alias recém-adicionado.
O alias aparece no campo Alias de credencial.
- No formulário de credenciais Kubernetes, selecione Atualizar.
- 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 na Kubernetes Configuração de 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: insira default, kube-system
- Namespaces de várias pilhas: insira os namespaces, use uma vírgula (,) para separar os valores e insira "kube-system". Por exemplo: automation,application,test,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 de cluster: - Clusters do Azure Kubernetes - ID do recurso.
- ARN do cluster da AWS.
- GCP- nome global do cluster.
- 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.
- Para incluir componentes descobertos em serviços de aplicativo, habilite relacionamentos de IC usados na descoberta baseada em tag 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 o padrão Google Cloud Platform (GCP) – Obter Kubernetes Clusters , execute o seguinte:
- Na instância ServiceNow, configure uma conta de serviço Google Cloud Platform (GCP) com credenciais e permissões válidas.
- 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.
- Navegue até
sys_properties.liste 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.
- Criar e executar Google Cloud Descoberta Nota:
Para buscar o token do portador, ao executar a programação do 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:
- Na instância ServiceNow, configure uma conta de serviço AWS com credenciais e permissões de conta de gestão válidas.
- 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.
- 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.
- Crie uma função de IAM AWS com a política EKSReadOnly.
- 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
-
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_token para usar o modelo escolhido. Esta propriedade do sistema é definida como verdadeira por padrão.
-
Defina esta propriedade do sistema como verdadeira para usar a CLI AWS para gerar um token.
-
Defina esta propriedade do sistema como falsa para usar Assumir funções para gerar um token.
-
Execute a descoberta de cluster do Amazon Elastic Kubernetes Service (EKS) usando a CLI do AWS:
-
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. -
Para gerar o token do portador, ao executar a programação Amazon Elastic Kubernetes Service (EKS), use o comando da CLI AWS :
aws eks get-token --cluster-name<cluster_name> .Configurar o usuário/função da CLI AWSMID Server na instância [] concede acesso ao cluster Amazon Elastic Kubernetes Service (EKS) para gerar o token.
-
-
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)
-
- Navegue até
sys_properties.liste 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.
-
Crie e execute uma programação da Descoberta na nuvem da AWS.
- Atualize para a versão Padrões de descoberta e mapeamento de serviços mais recente.
- Na instância ServiceNow, configure a conta de serviço Azure com Azure credenciais e permissões válidas.
- Navegue até
sys_properties.liste 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.
- sn_itom_pattern.aks_fetch_local_ad_token: esta propriedade é definida como verdadeira por padrão. Se você não tiver contas locais com Kubernetes RBAC, poderá definir esta propriedade como falsa para aumentar a eficiência do padrão.
- Executar uma programação de descoberta na nuvem Azure.
-
Configure o MID Server nos cronogramas Descoberta 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 do cluster Descoberta programação MID Server Autenticação do MS Entra ID com Kubernetes RBAC.
Qualquer MID Server.
Autenticação MS Entra ID com Azure RBAC.
Qualquer MID Server.
Contas locais com Kubernetes RBAC.
Selecione MID Server com a Azure Interface de linha de comando (CLI) configurada. A configuração das credenciais Azure da CLI concede acesso ao cluster AKS.
Para buscar o token do portador durante a execução da programação do AKS Kubernetes, use o comando da CLI Azure :
az aks get-credentials --name<cluster_name> --overwrite-existing --resource-group<resourceGroup_name> --arquivo - .Nota:- O usuário conectado ao sistema deve ser o mesmo usuário do MID Server.
- Para obter informações detalhadas sobre a configuração da Descoberta de cluster do AKS, consulte o artigo Detalhes de configuração da Descoberta de cluster do AKS [KB1220553] na Base de conhecimento Now Support.
| 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 verdadeira e executar a descoberta: evite que registros duplicados sejam criados excluindo todos os registros de imagem Docker. |
||
|
sn_itom_pattern.k8s_create_schedule_enabled |
O sinalizador de 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, independentemente do novo valor da propriedade. |
Booliano | falso | |
| sn_itom_k8s_run_cloud_discovery | Quando habilitada, esta propriedade executa padrões do k8s em 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 é definida como verdadeira, 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 o mesmo ou usar nosso tempo dinâmico, que será 5 minutos 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 |
<service_account_id> é o nome do ID da conta em Contas de serviço em nuvem. Para obter mais informações, consulte: Criar cronogramas para descobrir recursos de nuvem no Descoberta na nuvem.Descoberta sem credencial ou MID em cluster do Kubernetes
Pré-requisitos do Kubernetes para descoberta sem credenciais:
Implante o MID Server em contêiner no cluster do Kubernetes. Configurar credenciais do Kubernetes é desnecessário, já que o MID Server no cluster do Kubernetes descobre automaticamente o servidor de API e se autentica.
| 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 na Kubernetes Configuração de descoberta. Insira um dos seguintes valores:
|
| 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 |
O status do pod Kubernetes : Pendente, Em execução, Êxito, Com falha e 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 quando a descoberta é executada. Para obter informações sobre como resolver essas tarefas, consulte o artigo Tornar o identificador de contêiner do Docker independente [KB1443042] em 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 da configuração implantada do OpenShift. |
| 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 da configuração de compilação do OpenShift. |
| 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 da rota do OpenShift. |
| 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 Grupo do OpenShift. |
| 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 usuário do OpenShift. |
| 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 projeto do OpenShift. |
| 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 da imagem do OpenShift. |
| 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 fluxo de imagens do OpenShift. |
| 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 |
As fases de namespace Kubernetes : Ativo ou Finalizando. |
| 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. |
Relacionamentos de IC coletados pelo padrão 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] | |
| 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] |
iInstantiates:: Instantiated By | 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] |
| 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
| 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
| 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
Depois que Descoberta terminar de descobrir os componentes da implantação Kubernetes, você poderá navegar até e exiba as estatísticas sobre Kubernetes componentes descobertos. Para obter mais informações, consulte Painel do Kubernetes.
Depois de atualizar para a Espaço do administrador da Descoberta versão 1.3.1 (Store de agosto de 2024), você pode navegar até e usar o painel aprimorado.
Solução de problemas
| 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.