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 Docker oferece suporte ao uso de comandos privilegiados , como sudoou 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 sn_itom_pattern.manifest_digest_image_id propriedade para verdadeiro e executando descoberta: impedir duplicação Docker registros sendo criados excluindo tudo Docker registros de imagem.
- 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. |
| SO Arch [os_arch] | |
| Confirmação GIT [git_commit] | |
| Data de compilação [build_date] | |
| Versão [version] | |
| Versão da API [api_version] | |
| Versão GO [go_version] | |
| Está em cluster [is_clustersed] | |
| 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 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. |
| 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 | Gerencia::Gerenciado por | cmdb_ci_docker_container |
| cmdb_ci_docker_engine | Gerencia::gerenciado Por | cmdb_ci_docker_local_image |
|
cmdb_ci_docker_image |
Instancia::instanciated Por |
cmdb_ci_docker_container |
|
cmdb_ci_docker_local_image Nota:
A direção dessa relação é a oposta para todas as versões da Store anteriores à 1,0.99, fevereiro de 2023. |
Instancia::instanciated Por |
cmdb_ci_docker_container |
| cmdb_ci_docker_image_tag | Registrado Em::has Registrado | cmdb_ci_docker_local_image |
| cmdb_ci_docker_local_image | Instancia::instanciado por | 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 os usa Crie ou edite uma coleção de regras de contenção e. Crie ou edite uma coleção de regras de hospedagem Regras para criar itens de configuração (IC) a partir do retorno de dados n ed pelo padrão 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