Virtualização do Docker
Descoberta usa o Docker Pattern para coletar dados sobre objetos específicos em um mecanismo Docker, em execução em um host Linux.
A plataforma ServiceNow® oferece suporte à descoberta do Docker versão 1.11.0 ou posterior.
Pré-requisitos
- Privilégios do usuário
- O usuário cujas credenciais são usadas para executar o Docker Descoberta deve ter privilégios definidos por um destes métodos:
- Forneça a um usuário direitos elevados para executar comandos, já que o daemon do Docker é executado como usuário raiz. O padrão do Docker oferece suporte ao uso de comandos privilegiados, como sudo ou pbrun, para executar como o usuário raiz.
- Atribuído a um grupo chamado docker, que tem privilégios especiais para executar comandos do Docker. Para obter instruções sobre como configurar um grupo, consulte a documentação no Docker.
- Padrões mais recentes
- Implante a aplicação Discovery e Service Mapping Patterns mais recente de ServiceNow Store.
Restrições e considerações do Docker
- A verificação do processo inicial Descoberta pode identificar uma aplicação em um contêiner e classificá-lo corretamente. No entanto, os probes subsequentes iniciados para explorar esse aplicativo não podem ver dentro do contêiner e não podem retornar detalhes sobre a aplicação.
- Descoberta verifica todos os contêineres que encontra, incluindo contêineres inativos, o que pode deixar mais lento Descoberta. Você deve excluir os contêineres que não estão em execução.
- Antes de definir a propriedade sn_itom_pattern.manifest_digest_image_id como verdadeira e executar a descoberta: evite que registros duplicados Docker sejam criados excluindo todos os registros de imagem Docker.
- Somente um mecanismo do Docker é permitido por computador (em uma máquina física ou virtual).
Dados coletados por Descoberta durante a descoberta horizontal
| Tabela e campos | Descrição |
|---|---|
| Mecanismo do Docker [cmdb_ci_docker_engine] | |
| Nome [nome] | Armazena informações sobre instâncias do mecanismo do Docker. |
| Arquitetura do SO [os_arch] | |
| Confirmação do GIT [git_commit] | |
| Data da compilação [build_date] | |
| Versão [version] | |
| Versão da API [api_version] | |
| Versão do Go [go_version] | |
| Está em cluster [is_clustered] | |
| Processo em execução [running_process] | |
| Comando de processo em execução [running_process_command] | |
| Parâmetros de chave do processo em execução [running_process_key_parameters] | |
| Imagem do docker [cmdb_ci_docker_image] | |
| Nome [nome] | Armazena informações sobre a representação globalmente exclusiva de imagens do Docker. |
| ID da imagem [image_id] | |
| Resumo de imagem [image_digest] | |
| Tamanho (byte) [size_byte] | |
| Imagem criada [Image_created_at] | |
| Imagem local do docker [cmdb_ci_docker_local_image] | |
| Nome [nome] | Armazena instâncias locais de imagens do Docker. |
| ID da imagem [image_id] | |
| Marcador da imagem do docker [cmdb_ci_docker_image_tag] | |
| Nome [nome] | Armazena tags de imagens do Docker locais. |
| ID da imagem [image_id] | |
| Repositório [repositório] | |
| Marcador [tag] | |
| Contêiner do Docker [cmdb_ci_docker_container] | |
| Nome [nome] | Armazena contêineres do Docker encontrados no host. Nos casos em que registros duplicados são criados, as tarefas de desduplicação aparecem quando a descoberta é executada. Para obter informações sobre como resolver essas tarefas, consulte o artigo Tornar o identificador de contêiner do Docker independente [KB1443042] em ServiceNow® Base de conhecimento. |
| ID da imagem [image_id] | |
| ID do contêiner [container_id] | |
| Tamanho (bytes) [size_bytes] | |
| Comando [command] | |
| Contêiner criado [container_created] | |
| Status [status] | |
| 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 entre ICs
| IC | Relação | IC |
|---|---|---|
| cmdb_ci_server | Runs::Runs On | cmdb_ci_docker_engine |
| cmdb_ci_docker_engine | Manages::Managed By | cmdb_ci_docker_container |
| cmdb_ci_docker_engine | Gerencia::Gerenciado por | cmdb_ci_docker_local_image |
cmdb_ci_docker_image |
Instancia::Instanciado por |
cmdb_ci_docker_container |
cmdb_ci_docker_local_image Nota: A direção dessa relação é oposta para todas as versões da loja anteriores a 1.0.99, de fevereiro de 2023. |
Instancia::Instanciado por |
cmdb_ci_docker_container |
| cmdb_ci_docker_image_tag | Registrado Em::Tem Registrado | cmdb_ci_docker_local_image |
| cmdb_ci_docker_local_image | Instantiates::Instantiated By | cmdb_ci_docker_image |
| 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] |
Regras de identificação, contenção e hospedagem
O Discovery usa um identificador de regra de aplicação para encontrar o mecanismo do Docker e, em seguida, aplica outras regras para identificar objetos do Docker específicos.
- Identificador de regra de aplicação
O sistema cria o item de configuração (IC) cmdb_ci_docker_engine durante a classificação do processo. Com base nisso, o Discovery usa o identificador de Regra de aplicação na tabela de Aplicação [cmdb_ci_appl] para identificar o mecanismo do Docker específico encontrado. Depois de estabelecer essa identidade, o Discovery usa os relacionamentos definidos nas regras de contenção e hospedagem para criar e atualizar com precisão os ICs individuais do componente do Docker relacionados a esse mecanismo.
- Identificadores
Nome Tabela Atributos Contêiner do Docker Contêiner do Docker [cmdb_ci_docker_container] container_id Imagem global do Docker Imagem do docker [cmdb_ci_docker_image] image_id Imagem do Local do Docker Imagem local do docker [cmdb_ci_docker_local_image] image_id Marcador da Imagem do Docker Marcador da imagem do docker [cmdb_ci_docker_image_tag] repositório, marcador - Regras de contenção e hospedagem
- A Descoberta do Docker usa estas regras Criar ou editar uma coleção de regras de contenção e Criar ou editar uma coleção de regras de hospedagem para criar itens de configuração (IC) a partir dos dados retornadosned pelo Padrão do Docker. Depois que o Discovery identifica o mecanismo do Docker por seu relacionamento com a tabela Aplicação [cmdb_ci_appl], ele usa essas regras para identificar os ICs específicos conectados a esse mecanismo de seus relacionamentos entre si. A conexão entre os componentes dessa forma, da aplicação para baixo, começando com o mecanismo, Descoberta evita a criação de ICs duplicados para componentes de outros mecanismos do Docker que usam o mesmo nome ou image_id.
Tabela 1. Regra de contenção Primário Secundário(a) Relacionamento Imagem do Local do Docker Marcador da Imagem do Docker Registrou Tabela 2. Regras de hospedagem Primário Secundário(a) Relacionamento Contêiner do Docker Mecanismo do Docker Gerenciado por Imagem do Local do Docker Mecanismo do Docker Gerenciado por