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 de extensão OpenShift Build Config está disponível a partir da versão de outubro de 2019, versão Store 1.0.53. É compatível com o patch Now Platform London 10, patch Madrid 5 e New York.
- 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 Service Mesh 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) - Discovery and Schedule Creator Kubernetes. Versão de lançamento: 1.0.89 - abril de 2022.
- Amazon Web Services (AWS) - Discovery and Schedule Creator Kubernetes. Versão: 1.0.90 – maio de 2022.
- Serviços de computação em nuvem do Microsoft Azure- Discovery and Schedule Creator Kubernetes. Versão: 1.0.91 – julho de 2022.
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, em seu cluster Kubernetes, o token padrão é protegido por contê-lo 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 e posterior. 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 de portador, insira o token de 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 de 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 do Discovery. Insira um dos seguintes valores: - Namespace individual: insira o namespace e "kube-system". Por exemplo: dev,kube-system
- O valor padrão: insira padrão, kube-system
- Namespaces de várias pilhas: insira os namespaces, use uma vírgula (,) para separar os valores e insira "kube-system". Por exemplo: automação, 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. - 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 Discovery e Schedule Creator Google Cloud Platform (GCP) - Kubernetes, 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.
- Para criar programações sem servidor usando APIs, importe o Update Set anexado ao KB1168613(somente para versões anteriores à Tóquio).
- Criar e executar Google Cloud Descoberta Nota:
Para buscar o Token do Portador, ao executar a programação Kubernetes do GKE, 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 do AWS para gerar um token.
Defina esta propriedade do sistema como falsa para usar a opção 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 do Amazon Elastic Kubernetes Service (EKS), use o comando da CLI do AWS:
aws eks get-token --cluster-name <cluster_name>.Configurar o usuário/função da CLI do AWS na instância do MID Server concede acesso ao cluster do 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.
- Para criar programações sem servidor usando APIs, importe o conjunto de atualizações anexado no KB1168613 (somente para versões anteriores a Tokyo).
Crie e execute uma programação da Descoberta na nuvem da AWS.
- Na instância ServiceNow, configure a conta de serviço do Azure com uma credencial e permissão válidas.
- Configure o MID Server com a Interface de Linha de Comando (CLI) de AZ configurada. Configurar as credenciais da CLI do Azure concede acesso ao cluster AKS.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 do cluster AKS, consulte o artigo Detalhes da configuração da Descoberta do cluster AKS [KB1220553] na Base de conhecimento Now Support.
- 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.
- Para criar programações sem servidor usando APIs, importe o conjunto de atualizações anexado na KB1168613 (somente para versões anteriores a Tokyo).
- Crie e execute uma programação de descoberta na nuvem do Azure.Nota:Para obter o Token do Portador, ao executar a programação Kubernetes AKS, use o comando da Az CLI:
az aks get-credentials --name <cluster_name> --overwrite-existing --resource-group<resourceGroup_name> --file -O AZ CLI configurado na instância do MID Server deve ter acesso ao cluster AKS para gerar um token.
| 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. |
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 poderá usar nosso tempo dinâmico, que será 5 min 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 programações 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 do Discovery. 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, Bem-sucedido, 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] 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 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 do namespace Kubernetes : Ativo ou Terminando. |
| 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] | |
| 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 exibem as estatísticas sobre os componentes Kubernetes descobertos. Para obter mais informações, consulte Painel do Kubernetes.
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.