Kubernetes descoberta
. ServiceNow Visibilidade do ITOMdescobertas Kubernetes e. OpenShiftcomponentes e cria serviços de aplicações que os contêm . Descobertatambém encontra Kubernetese atualiza frequentemente o. CMDBpara refletir a dinâmica Kubernetesambiente.
- . Collect OpenShift info seção de extensão do Kuberneteso padrão descobre o. OpenShiftcomponentes do Kubernetesimplantação. . OpenShiftA seção de extensão de configuração de compilação está disponível na Store versão 1,0.53.
- . Service Mesha extensão descobre detalhes do service mesh. Essas informações permitem que o padrão crie relações de serviço para serviço, mostradas como Conecta-se a::conectado. A descoberta de service mesh 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 Now Platformusando o. Madridversão ou posterior.
- . Collect Container Repositorye a seção de extensão encontra registros de contêiner e imagens nesses registros.
Além disso, Descobertausa o. KubernetesPadrão de evento para descobrir eventos Kubernetescomponentes para versões Kubernetesversão 1,21.
A partir da versão 1.0.68 em diante ServiceNow Store, Mapeamento de serviçosPode usar relacionamentos de IC para adicionar o. Kubernetescomponentes para 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
- Implantar a aplicação de padrões de descoberta e mapeamento de serviços mais recente de ServiceNow Store.
- Em Kubernetesplataforma, encontre os parâmetros a serem configurados Kubernetesdescoberta:
- Encontre o URL do servidor kubeapi:
- Em Kubernetes, execute o seguinte comando:
kubectl cluster-info - Na saída, encontre a linha que indica o URL do servidor kubeapi. Por exemplo, Kuberneteso plano de controle está em execução em
https://10.154.144.146:443
- Em Kubernetes, execute o seguinte comando:
- Encontre os namespaces do servidor kubeapi:
- Em Kubernetesplataforma, execute este comando:
kubectl obter namespaces - Na saída, encontre a linha que indica os namespaces. Por exemplo,
kube-system.
- Em Kubernetesplataforma, execute este comando:
- Encontre o. Kubernetesnome de usuário e senha:
- Em Kubernetesplataforma, execute este comando:
exibição de configuração do kubectl - Na saída, encontre o nome de usuário e a senha.Nota:Em um determinado ambiente,
exibição de configuração do kubectlo comando não está mostrando os detalhes esperados, usecompatíveldo Kuberneteso administrador deve buscar os detalhes do nome de usuário e da senha.
- Em Kubernetesplataforma, execute este comando:
- Encontre o token do portador válido com as permissões apropriadas:
- Se você não tiver o nome do token padrão, use o comando:
kubectl descreve segredo. - T a saída mostra todas as contas e todos os tokens. Encontre o token válido:
Onde
kubectlé o genérico Kubernetesconta,descrevaé o método kubectl genérico..
segredoo parâmetro reflete isso em seu Kubernetescluster, o token padrão é protegido por contê-lo dentro do objeto do tipo segredo .kubectl descreve segredoA saída do comando está no formato codificado BASE64. -
Se você souber o nome do token padrão, use o seguinte comando:
kubectl descreve segredo default-token-g6pwc.
token-padrão-g6pwcreflete o valor do parâmetro do token padrão para g6pwc. - A saída mostra todos os tokens existentes para isso Kubernetesconta.
Escolha um token para usar na configuração Kubernetescredenciais no ServiceNowplataforma.
- Se você não tiver o nome do token padrão, use o comando:
- Encontre o URL do servidor kubeapi:
- Certifique-se de que o Servidor de API esteja acessível a partir do MID Server para obter sucesso Kubernetesdescoberta.
- Certifique-se de que o usuário tenha configurado no Kubernetesa plataforma tem 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/daemsets
- https://<url>/api/apps/v1/replicasets
- https://<url>/apis/batch/v1/cronjobs
- https://<url>/apis/batch/v1/jobs
- Para descobrir o. OpenShiftcomponentes do Kubernetesimplantação, certifique-se de que o usuário tenha configurado no Kubernetesa plataforma tem 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 do service mesh:- Implante o Istio no cluster do K8s.
- Forneça o URL do Prometheus.
- Configure o Prometheus para extrair métricas do Istio.
- Ativar Obtenha arquivos de configuração do Kubernetes extensão para:
- Descobrir arquivos de configuração.
- Crie arquivos de configuração rastreados.
- Mapeie as cargas de trabalho e 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 de arquivos rastreados está no formato YAML na versão 1.0.91 e anteriores. - Crie o. Kubernetescredenciais no ServiceNowplataforma:
- Em ServiceNowplataforma, navegue até .
- Selecione Novo.
- Selecione 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 desta credencial. Token do portador Para autenticação avançada usando um token do portador, insira o token do portador que Descobertausos 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 de 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 o. Kubernetescredencial para dispositivos e aplicações diferentes de Kubernetes. Você também usa este alias para definir um cronograma de descoberta sem servidor para descobrir o. Kubernetesimplantaçã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. Typepara Credencial .
- Clique com o botão direito do mouse no cabeçalho do formulário e selecione Salvar , em seguida, selecione Atualizar .
- No formulário Aliases de conexão e credencial, selecione o alias recém-adicionado.
O alias aparece no campo Alias de credencial.
- Em Kubernetesformulário credenciais, selecione Atualizar .
- Crie um cronograma de descoberta sem servidor para Kubernetespadrão.Crie e defina o padrão de execução sem servidor conforme descrito na documentação do produto. Configure os parâmetros exigidos pelo Kubernetespadrão da seguinte forma:
Tabela 1. Configurando atributos de padrão de execução Campo Descrição URL O identificador do nome de host, IP ou FQDN e a porta do Kubernetesservidor de apiserver. 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 KubernetesConfiguração da Descoberta. Insira um dos seguintes valores: - Namespace individual: Insira o namespace e, em seguida, "kube-system". Por exemplo: kube-system
- O valor padrão: Enter 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: aplicação,teste,kube-system
- Todos os namespaces: Use um asterisco (*) para inserir todos os namespaces
alias de credenciais O alias associado ao criado anteriormente Kubernetescredenciais. nome do cluster O nome do Kubernetescluster, no seguinte formato: <serviceaccountid> <space> <clustername>. provedor O provedor de nuvem: GCP, AWS ou Azure. cluster_resource_id Exemplo de ID de recurso do cluster: - Azure KubernetesID do recurso.
- ARN do cluster AWS.
- GCP- nome global do cluster.
- Crie um cronograma de descoberta sem servidor para KubernetesPadrão de evento. 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/hora. Quanto mais frequente o padrão for executado, menos atualizações no IRE do CMDB serão necessárias.
Crie um padrão de execução sem servidor para o cronograma de descoberta e atribua-o ao KubernetesPadrão de eventos. Configure os parâmetros exigidos pelo Kubernetespadrão conforme descrito em Configurando atributos de padrão de execução.
- Para incluir componentes descobertos em instâncias de serviço, habilite relacionamentos de IC usados na descoberta com base em marcadores pelo 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 para KubernetesDescoberta de infraestrutura em nuvem
Para Google Cloud Platform (GCP)– Obter Kubernetes Clusters padrão, execute o seguinte:
- Em ServiceNowinstância, configure um Google Cloud Platform (GCP)conta de serviço com credenciais e permissões válidas.
- Em GCPinfraestrutura, configure o. MID ServerCom acesso total a todas as APIs de nuvem: Defina escopos de acesso à API de nuvem como "Permitir acesso total a todas as APIs de 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 válido MID Servernome.
- sn_itom_pattern.k8s_create_schedule_enabled: Defina o valor como verdadeiro .Nota:Habilitar a propriedade sn_itom_pattern.k8s_create_schedule_enabled 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 e quiser convertê-la em 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 Kubernetesprogramação, use o comando gcloud:
gcloud config config-helper --format: "value(credential.access_token)"A configuração do gcloud na instância do MID Server concede acesso ao cluster do GKE para buscar o token.
Para Amazon Elastic Kubernetes Service (EKS)descoberta de cluster, execute o seguinte:
- Em ServiceNowinstância, defina um AWSconta de serviço com credenciais e permissões de conta de gestão válidas.
- Certifique-se de que Amazon Elastic Kubernetes Service (EKS)O cluster tem uma função de cluster com acesso somente leitura a todos os recursos.
- Crie vinculação de função de cluster entre a função de cluster e um Kubernetesusuário. Por exemplo, somente leitura usuário.
- Crie um AWSFunção do IAM com a política EKSReadOnly.
- Associe a função do IAM ao Kubernetesusuário de uma das seguintes maneiras:
- No cluster, edite o aws-auth ConfigMap.
- Execute o comando:
Eksctl create iamidentitymapping --cluster yourClusterName --arnarn:aws:iam::yourAccountId:role/yourIAMRoleName --username read-only-user
-
Executar Amazon Elastic Kubernetes Service (EKS)Descoberta de cluster de uma de duas maneiras: Usando o. AWSInterface de linha de comando (CLI) ou sem usar o. AWSCLI. Primeiro, defina a propriedade do sistema sn_itom_pattern.k8s_aws_cli_to_generate_tokenpara usar o modelo escolhido. Esta propriedade do sistema está definida como verdadeiro por padrão.
-
Defina esta propriedade do sistema como verdadeiro para usar AWSCLI para gerar um token.
-
Defina esta propriedade do sistema como falso Para usar funções Assumir para gerar um token.
-
Executar Amazon Elastic Kubernetes Service (EKS)descoberta de cluster usando AWSCLI:
-
Configure o. MID Servercom o. AWSCLI configurada. Configurando AWSAs credenciais da CLI concedem acesso ao Amazon Elastic Kubernetes Service (EKS)cluster.
Nota:O usuário conectado ao sistema deve ser o mesmo que MID Serverusuário. -
Para gerar o token do portador, ao executar o. Amazon Elastic Kubernetes Service (EKS)programação, use AWSComando da CLI:
aws eks get-token --cluster-name <cluster_name>.Configurando o. AWSUsuário/função da CLI no MID Servera instância concede acesso ao Amazon Elastic Kubernetes Service (EKS)cluster para gerar o token.
-
-
Executar Amazon Elastic Kubernetes Service (EKS)descoberta de cluster sem usar AWSCLI:
Nota:Este recurso é compatível com Padrões de descoberta e mapeamento de serviçosVersão 1.0.96 - Dezembro de 2022.
Consulte a base de conhecimento a seguir para obter instruções detalhadas: KB1182188: Descoberta de cluster do EKS usando AssumeRoles do STS (sem AWS CLI)
-
- Navegue até
sys_properties.liste configure as seguintes propriedades:- sn_itom_pattern.k8s_midserver: Especifique um válido MID Servernome.
- sn_itom_pattern.k8s_create_schedule_enabled: Defina o valor como verdadeiro .Nota:Habilitar a propriedade sn_itom_pattern.k8s_create_schedule_enabled 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 e quiser convertê-la em automática, habilite a propriedade. Sua programação manual será atualizada; nenhuma programação adicional será criada.
-
Crie e execute um cronograma de Descoberta da Nuvem AWS.
- Atualize para o mais recente Padrões de descoberta e mapeamento de serviçosversão.
- Em ServiceNow, configure o. AzureConta de serviço com válido Azurepermissões e credenciais.
- Navegue até
sys_properties.liste configure as seguintes propriedades:- sn_itom_pattern.k8s_midserver: Especifique um válido MID Servernome.
- sn_itom_pattern.k8s_create_schedule_enabled: Defina o valor como verdadeiro .Nota:.Habilitar a propriedade sn_itom_pattern.k8s_create_schedule_enabled 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 e quiser convertê-la em 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 KubernetesE quiser melhorar a eficiência do padrão, navegue até e definir o. sn_itom_pattern.aks_fetch_local_ad_tokenpropriedade para falso .
- Execute um Azureprogramação de descoberta na nuvem.
-
Configure o. MID Serverem Descobertaprograme 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 KubernetesRBAC.
Qualquer MID Server.
Autenticação do MS Entra ID com AzureRBAC.
Qualquer MID Server.
Contas locais com KubernetesRBAC.
Selecione MID Servercom o. AzureInterface de linha de comando (CLI) configurada. Configurando o. AzureAs credenciais da CLI concedem acesso ao cluster do AKS.
Para buscar o token do portador durante a execução do AKS Kubernetesprogramação, use AzureComando 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 MID Serverusuário.
- 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 Dockerregistros de imagem. |
||
|
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, apesar do novo valor de propriedade. |
Booliano | falso | |
| sn_itom_k8s_run_cloud_discovery | Quando habilitada, esta propriedade executa padrões K8s na nuvem, descobrindo clusters K8s sem criar cronogramas automáticos. | Booliano | falso | |
| Mid Server |
sn_itom_pattern.k8s_midserver |
[Padrão] Exemplo - Nome válido do MID Server |
Cadeia de caracteres | |
|
sn_itom_pattern.k8s_<service_account_id>_midserver |
[Com base no nível da conta de serviço] Exemplo - Nome válido do MID Server |
Cadeia de caracteres | ||
|
sn_itom_pattern.k8s_<service_account_id>_<clustername>_midserver |
[Com base no nome do cluster] Exemplo - Nome válido do MID Server |
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 da credencial |
Cadeia de caracteres | |
|
sn_itom_pattern.k8s_<service_account_id>_alias |
[Com base no nível da conta de serviço] Exemplo: Nome de alias de credencial válido. |
Cadeia de caracteres | ||
|
sn_itom_pattern.k8s_<service_account_id>_<clustername>_alias |
[Com base no nome do cluster] Exemplo: Nome de alias de credencial válido. |
Cadeia de caracteres | ||
| URL do Prometheus |
sn_itom_pattern.k8s_ prometheusUrl |
[Padrão] Exemplo: URL válida do Prometheus |
Cadeia de caracteres | |
|
sn_itom_pattern.k8s_<service_account_id>_prometheusUrl |
[Com base no nível da conta de serviço] Exemplo: URL válida do Prometheus |
Cadeia de caracteres | ||
|
sn_itom_pattern.k8s_<service_account_id>_<clustername>_prometheusUrl |
[Com base no nome do cluster] Exemplo: URL válida do Prometheus |
Cadeia de caracteres | ||
|
sn_itom_pattern.k8s_ execução |
[Execução do cronograma de descoberta compatível - Diariamente, sob demanda, dias da semana, fins de semana, mês último dia, fim do trimestre do calendário] Exemplo- Diariamente |
Cadeia de caracteres | ||
|
sn_itom_pattern.k8s_batch_count |
[Refere-se a quantos cronogramas executar em lote – padrão definido como 5] Exemplo - 5 (número de cronogramas a serem executados em 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ê pode usar a mesma ou pode usar nosso tempo dinâmico, que será 5 após o tempo atual do sistema. Os valores contêm no 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 de nuvem. Para obter mais informações, consulte: Crie cronogramas para descobrir recursos de nuvem em Descoberta na nuvemKubernetes Descoberta sem credenciais ou mid-in-cluster
Pré-requisitos para KubernetesDescoberta sem credenciais:
Implantar o contêiner MID Serverpara Kubernetescluster. Configurando Kubernetesas credenciais são desnecessárias desde MID Serverem KubernetesO 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 KubernetesConfiguração da Descoberta. Insira um dos seguintes valores:
|
| cluster_name | Insira um nome exclusivo. |
Dados coletados por Descobertadurante a descoberta horizontal
| Tabela e campo | Descrição |
|---|---|
| Kubernetes Cluster [cmdb_ci_kubernetes_cluster] | |
| Nome | O nome do líder kube-controller-manager. |
| K8s_uid | O UID do namespace kube-system [versões compatíveis: 1.0.92 e posteriores] |
| ip_address | O identificador do host_ip do Kubernetesservidor de apiserver. |
| porta |
O identificador do Kubernetesporta do servidor de apiserver. |
| namespace | Este valor mostra os namespaces que o sistema passou no KubernetesConfiguração da Descoberta. |
| event_timestamp | O carimbo de data/hora do evento mais recente criado neste Kubernetescluster no momento da descoberta. |
| Kubernetes Nó [cmdb_ci_kubernetes_node] | O aspecto virtual do Kubernetesnó. Dados relacionados ao aspecto físico do Kuberneteso nó é armazenado em Linuxservidor. |
| nome | O nome do Kubernetesnó. O formato pode ser somente o nome da máquina ou o nome completo que consiste no nome e no nome do host: <name>.<hostname> . |
| k8s_uid | O identificador do KubernetesUUID do nó. |
| cluster | O nome do cluster que contém este recurso. |
| operational_status | O status operacional do Kubernetesnó. |
| Kubernetes Serviço [cmdb_ci_kubernetes_service] | |
| nome | O nome do Kubernetesserviço. |
| seletor | Uma lista delimitada por vírgulas dos seletores de rótulo especificados no Kubernetesconfiguração usada para selecionar pods de destino. |
| namespace | . Kubernetesnamespace para o qual este Kuberneteso serviço pertence. |
| k8s_uid | . KubernetesUUID do serviço. |
| cluster | O nome do cluster que contém este recurso. |
| Kubernetes Pod [cmdb_ci_kubernetes_pod] | |
| nome | O nome do Kubernetespod. |
| k8s_uid | . KubernetesUUID do pod. |
| resourceVersion | A versão do recurso do Kubernetespod. |
| namespace | . Kubernetesnamespace para o qual este Kuberneteso pod pertence. |
| cluster | O nome do cluster que contém este recurso. |
| estado |
. Kubernetes Status do pod: Pendente, Em execução, Bem-sucedido, Falha, e. Desconhecido. |
| Kubernetes Cronjob [cmdb_ci_kubernetes_cronjob] | |
| nome | O nome do Kubernetescronjob |
| namespace | . Kubernetesnamespace para o qual este Kuberneteso pod pertence. |
| k8s_uid | . KubernetesUUID do cronjob. |
| cluster | O nome do cluster que contém este recurso. |
| Kubernetes Trabalho [cmdb_ci_kubernetes_job] | |
| nome | O nome do KubernetesTrabalho |
| namespace | . Kubernetesnamespace para o qual este Kuberneteso trabalho pertence. |
| k8s_uid | . KubernetesUUID do trabalho |
| cluster | O nome do cluster que contém Kubernetestrabalho. |
| Kubernetes Daemonset [cmdb_ci_kubernetes_demonset] | |
| nome | O nome do Kubernetesdaemonset. |
| namespace | . Kubernetesnamespace para o qual este Kuberneteso daemset pertence. |
| k8s_uid | . KubernetesUUID de daemonset. |
| 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 Falha. |
| pods_running | O número de pods na fase Em execução. |
| pods_succeeded | O número de pods na fase bem-sucedida. |
| pods_waiting | O número de pods na fase de espera. |
| Kubernetes Entrada [cmdb_ci_kubernetes_ingresso] | |
| nome | O nome do Kubernetesentrada |
| namespace | . Kubernetesnamespace para o qual este Kubernetesa entrada pertence. |
| k8s_uid | . KubernetesUID de entrada |
| cluster | O nome do cluster que contém este recurso. |
|
Kubernetes Implantação [cmdb_ci_kubernetes_deployment] Kubernetes Replicaset [cmdb_ci_kubernetes_replicaset] Kubernetes Controlador de replicação [cmdb_ci_kubernetes_replicationcontroller] Kubernetes Statefulset [cmdb_ci_kubernetes_statefulset] |
|
| nome | O nome deste recurso |
| namespace | . Kubernetesnamespace ao qual este recurso pertence. |
| K8s_uid | . KubernetesUID 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 Kubernetescontê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 Tornando o identificador de contêiner docker independente [KB1443042] artigo no ServiceNow® Base de conhecimento. |
| namespace | . Kubernetesnamespace para o qual este Kuberneteso contêiner do docker 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 docker |
| image_id | O identificador do Kubernetesimagem da janela de encaixe |
| nome | O nome do Kubernetesimagem da janela de encaixe. |
| image_url | O URL para baixar a imagem do docker. |
| namespace | . Kubernetesnamespace para o qual este Kubernetesa imagem do docker pertence. |
| Servidor Linux [cmdb_ci_linux_server] | O servidor que hospeda o. Kubernetesnó. |
| nome | O nome do servidor Linux que aciona o. Kubernetesnó. |
| nome do host | O nome de host do servidor Linux. |
| os | O sistema operacional implantado neste servidor Linux. |
| kernel_release | A versão do sistema operacional do kernel Linux implantada neste servidor Linux. |
| ram | O tamanho da RAM instalada neste servidor Linux. |
| ip_address | O endereço IP do servidor Linux. |
| Chave/Valor [cmdb_key_value] | Este item de configuração contém Kubernetesrótulos. Os rótulos são pares de chave/valor anexados a objetos, como pods. |
| chave | A chave do Kubernetespod ou Kubernetesserviço Key Valueparâmetro. |
| valor | O valor de Kubernetespod ou Kubernetesserviço Key Valueparâmetro. |
| Kubernetes Volume [cmdb_ci_kubernetes_volume] | |
| k8s_uid | . KubernetesUUID do volume. |
| mount_path | O caminho para acessar isso Kubernetesvolume. |
| nome | O nome do Kubernetesvolume. |
| namespace | . Kubernetesnamespace para o qual este Kuberneteso volume pertence. |
| cluster | O nome do cluster que contém este recurso. |
| volume_id | O ID do Kubernetesvolume. |
| OpenShift Configuração implantada [cmdb_ci_openshift_dep_conf] | |
| nome | O nome do OpenShiftConfiguração de implantação. |
| namespace | O nome do namespace que contém a configuração de implantação. |
| k8s_uid | . KubernetesUUID do volume. |
| URL | O URL do OpenShiftconfiguração implantada. |
| OpenShift Configuração de compilação [cmdb_ci_openshift_build_conf] | |
| nome | O nome do OpenShiftcriar configuração. |
| namespace | O nome do OpenShiftnamespace que contém a configuração de compilação. |
| k8s | . KubernetesUUID do volume. |
| URL | O URL do OpenShiftcriar configuração. |
| OpenShift Source2Image [cmdb_ci_openshift_source_2_image] | |
| nome | O nome da imagem de origem do OpenShift. |
| para | Imagem relacionada. |
| parent_id | O ID do OpenShiftimagem de origem. |
| OpenShift Rota [cmdb_ci_openshift_route] | |
| nome | O nome do OpenShiftrota. |
| namespace | O nome do namespace que contém OpenShiftrota. |
| k8s_uid | . KubernetesUUID do volume. |
| URL | O URL do OpenShiftRota. |
| Host | O host de destino do OpenShiftrota. |
| porta | A porta de destino do OpenShiftrota. |
| OpenShift Grupo [cmdb_ci_openshift_group] | |
| nome | O nome do OpenShiftGrupo. |
| k8s_uid | . KubernetesUUID do volume. |
| URL | O URL do OpenShiftGrupo. |
| OpenShift Usuário [cmdb_ci_openshift_user] | |
| nome | O nome do OpenShiftusuário. |
| k8s_uid | . KubernetesUUID do volume. |
| URL | O URL do OpenShiftusuário. |
| full_name | O nome completo do OpenShiftusuário. |
| OpenShift Projeto [cmdb_ci_openshift_project] | |
| nome | O nome do OpenShiftprojeto. |
| k8s_uid | . KubernetesUUID do volume. |
| URL | O URL do OpenShiftProjeto. |
| OpenShift Imagem [cmdb_ci_openshift_images] | |
| nome | O nome do OpenShiftImagem. |
| k8s_uid | . KubernetesUUID do volume. |
| URL | O URL do OpenShiftImagem. |
| 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. |
| tamanho | O tamanho da imagem. |
| nome do host | O nome de host relacionado à imagem. |
| OpenShift Fluxo de imagens [cmdb_ci_openshift_images_stream] | |
| nome | O nome do OpenShiftFluxo de imagens. |
| k8s_uid | . KubernetesUUID do volume. |
| URL | O URL do OpenShiftFluxo de imagens . |
| namespace | O nome do namespace que contém OpenShiftfluxo de imagens. |
| OpenShift Repositório de imagens do Docker [cmdb_ci_openshift_docker_images_repository] | |
| nome | O nome do OpenShiftrepositório de imagens do docker. |
| Parent_ID | O ID do sistema primário. |
| Namespace [cmdb_ci_kubernetes_namespace] | |
| nome | O nome do KubernetesNamespace. |
| 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 do Kubernetes
| IC | Relacionamento | IC |
|---|---|---|
| Kubernetes Cluster [cmdb_ci_kubernetes_cluster] | Contém::Contido por |
Kubernetes Serviço [cmdb_ci_kubernetes_service] |
| Contém::Contido por | Kubernetes Pod [cmdb_ci_kubernetes_pod] | |
| Contém::Contido por | Kubernetes Entrada [cmdb_ci_kubernetes_ingresso] | |
| Contém::Contido por |
Kubernetes Namespace [cmdb_ci_kubernetes_namespace] |
|
| Contém::Contido por | [cmdb_ci_openshift_source_2_image] | |
| Contém::Contido por | OpenShift Grupo [cmdb_ci_openshift_group] | |
| Contém::Contido por | OpenShift Usuário [cmdb_ci_openshift_user] | |
| Contém::Contido por | OpenShift Projeto [cmdb_ci_openshift_project] | |
| Contém::Contido por | OpenShift Imagem [cmdb_ci_openshift_images] | |
| Contém::Contido por | OpenShift Repositório de imagens do Docker [cmdb_ci_openshift_docker_images_repository] | |
| Cluster of::Cluster | Kubernetes Nó [cmdb_ci_kubernetes_node] | |
| Gerencia::Gerenciado por | Servidor Linux [cmdb_ci_linux_server] | |
| Contido por: contém | Grupo de recursos [cmdb_ci_resource_group] | |
| Kubernetes Pod [cmdb_ci_kubernetes_pod] | Contém::Contido por | Contêiner do docker [cmdb_ci_docker_container] |
| Contém::Contido por | Imagem do docker [cmdb_ci_docker_image] | |
| Contém::Contido por | Kubernetes Volume [cmdb_ci_kubernetes_volume] | |
|
Kubernetes Carga de trabalho [cmdb_ci_kubernetes_workload] |
Hosted on::Hosts | Kubernetes Cluster [cmdb_ci_kubernetes_cluster] |
| Serviço do Kubernetes [cmdb_ci_kubernetes_service] | Provides::Provided By |
Kubernetes Carga de trabalho [cmdb_ci_kubernetes_workload] |
|
Implantação do Kubernetes [cmdb_ci_kubernetes_deployment] |
::Propriedade de |
Kubernetes Replicaset [cmdb_ci_kubernetes_replicaset] |
|
Kubernetes Replicaset [cmdb_ci_kubernetes_replicaset] |
IInstâncias:: Instanciado por | Kubernetes Pod [cmdb_ci_kubernetes_pod] |
| Kubernetes Carga de trabalho [cmdb_ci_kubernetes_workload] | Fornecido por::Fornece para | Kubernetes Serviço [cmdb_ci_kubernetes_service] |
| Kubernetes Implantação [cmdb_ci_kubernetes_deployment] | Hosted on::Hosts | Kubernetes Cluster [cmdb_ci_kubernetes_cluster] |
| Kubernetes Daemonset [cmdb_ci_kubernetes_demonset] | Hosted on::Hosts | Kubernetes Cluster [cmdb_ci_kubernetes_cluster] |
| Kubernetes Statefulset [cmdb_ci_kubernetes_statefulset] | Hosted on::Hosts | Kubernetes Cluster [cmdb_ci_kubernetes_cluster] |
| Kubernetes Namespace [cmdb_ci_kubernetes_namespace] | Contém::Contido por | OpenShift Configuração implantada [cmdb_ci_openshift_dep_conf] |
| Contém::Contido por | OpenShift Configuração de compilação [cmdb_ci_openshift_build_conf] | |
| Contém::Contido por | OpenShift Rota [cmdb_ci_openshift_route] | |
| Contém::Contido por | OpenShift Fluxo de imagens [cmdb_ci_openshift_images_stream] | |
| Imagem do docker [cmdb_ci_docker_image] | Instancia::instanciado por | Contêiner do docker [cmdb_ci_docker_container] |
| Servidor Linux [cmdb_ci_linux_server] | Contém::Contido por | Kubernetes Pod [cmdb_ci_kubernetes_pod] |
| Execuções::execuções em | Contêiner do docker [cmdb_ci_docker_container] | |
| Hosts::hospedado em | Kubernetes Nó [cmdb_ci_kubernetes_node] | |
| OpenShift Configuração de implantação [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 do Istio Service Mesh
Pré-requisitos para a extensão do Istio Service Mesh:
- Certifique-se de que os componentes do Istio Service Mesh e Prometheus estejam configurados no Kubernetescluster.
- Certifique-se de que o Prometheus descubra as informações de conexão do serviço usando
queryistio_requests_totalcomando. - Certifique-se de que os serviços da aplicação estejam conectados e verifique o fluxo de tráfego de serviço para serviço no gráfico Kiali.
Para obter mais informações sobre a aplicação Bookinfo, consulte: https://istio.io/latest/docs/examples/bookinfo/
| IC | Relacionamento | IC |
|---|---|---|
| Kubernetes Serviço [cmdb_ci_kubernetes_service] | Connects to::Connected by | Kubernetes Serviço [cmdb_ci_kubernetes_service] |
Relacionamentos de IC coletados pelo KubernetesPadrão de evento
| IC | Relacionamento | IC |
|---|---|---|
| Kubernetes Cluster [cmdb_ci_kubernetes_cluster] | Contém::Contido por |
Kubernetes Serviço [cmdb_ci_kubernetes_service] |
| Contém::Contido por | Kubernetes Pod [cmdb_ci_kubernetes_pod] | |
| Cluster of::Cluster | Kubernetes Nó [cmdb_ci_kubernetes_node] | |
| Gerencia::Gerenciado por | [cmdb_ci_linux_server] | |
| Kubernetes Pod [cmdb_ci_kubernetes_pod] | Contém::Contido por | Contêiner do docker [cmdb_ci_docker_container] |
| Contém::Contido por | Imagem do docker [cmdb_ci_docker_image] | |
| Contém::Contido por | Kubernetes Volume [cmdb_ci_kubernetes_volume] | |
| Imagem do docker [cmdb_ci_docker_image] | Instancia::instanciado por | Contêiner do docker [cmdb_ci_docker_container] |
| Servidor Linux [cmdb_ci_linux_server] | Contém::Contido por | Kubernetes Pod [cmdb_ci_kubernetes_pod] |
| Execuções::execuções em | Contêiner do docker [cmdb_ci_docker_container] | |
| Hosts::hospedado em | Kubernetes Nó [cmdb_ci_kubernetes_node] |
Dados coletados por Mapeamento de serviçosdurante a descoberta baseada em marcador
| 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 Descobertaconclui a descoberta de componentes do Kubernetesimplantação, você pode navegar até e use o. Explorador Kubernetespainel para exibir o. Kubernetese recursos da sua organização. Para usar o aprimorado Kubernetespainel, verifique se você tem Espaço do administrador da Descobertaa partir de Versão 1.3.1 (agosto de 2024 Loja) . 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. KubernetesPadrão no modo de depuração, consulte KB0832567 para obter informações operacionais.