Kubernetes descoberta usando padrões
. 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.
- 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.
- Google Cloud Platform (GCP) – Obter Kubernetes Clusters .
- Amazon AWS - Obter Kubernetes Clusters .
- 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 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.
-
- Encontre o URL do servidor kubeapi:
- Certifique-se de que o Servidor de API esteja acessível a partir do MID Server bem-sucedido Kubernetes descoberta.
- 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
- 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.
- 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. - Crie as credenciais Kubernetes na plataforma ServiceNow :
- Em ServiceNow AI Platform, navegue até .
- Selecione Novo.
- Selecione Credenciais do Kubernetes .
- 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. - 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 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.
- 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 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:
- 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.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.
- 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:
- 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_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.
-
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 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.
-
-
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.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.
-
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:
- Atualize para o mais recente Padrões de descoberta e mapeamento de serviços versão.
- Em ServiceNow instância, configure o. Azure Conta de serviço com válido Azure credenciais e permissão.
- 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.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.
- Se você não tiver contas locais com Kubernetes RBAC e quiser melhorar a eficiência do padrão, navegue até e defina sn_itom_pattern.aks_fetch_local_ad_tokenpropriedade para falso .
- Execute um Azure programação de descoberta em nuvem.
-
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:- O usuário conectado ao sistema deve ser o mesmo que o usuário do MID Server.
- Para obter informações detalhadas sobre a configuração da Descoberta de Cluster do AKS, consulte Detalhes da configuração da Descoberta de Cluster do AKS [KB1220553] artigo no Now Support Base de conhecimento.
| 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 |
<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.
| 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:
|
| 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. |
| 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] |
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] |
| 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
Após Descoberta conclui a descoberta de componentes do Kubernetes implantação, você pode navegar até 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
| 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.