Docker 가상화
디스커버리는 호스트에서 실행 중인 엔진의 Docker 특정 객체에 대한 데이터를 수집하는 Linux 데 사용합니다Docker Pattern.
플랫폼은 ServiceNow®Docker 릴리스 1.11.0 이상의 검색을 지원합니다.
디스커버리 는 네트워크에서 Docker 엔진 프로세스 분류 규칙을 실행합니다. 분류 규칙이 dockerd 또는 docker 디먼 프로세스를 식별하는 경우 분류 규칙은 수평 패턴(HorizontalDiscoveryProbe) 프로브를 트리거하여 Docker 패턴을 시작하고 Docker 구성요소에서 데이터 수집을 시작합니다.
주:
프로브에서 패턴으로의 마이그레이션에 대한 자세한 내용은 KB0694477 지식 문서를 참조하십시오.
필수 구성요소
- 사용자 권한
- 최신 패턴
- 에서 최신 디스커버리 및 서비스 매핑 패턴 애플리케이션을 ServiceNow Store배포합니다.
Docker 제한 및 고려 사항
Docker 가상화를 사용하는 경우 다음 사항을 고려하십시오.
- 초기 디스커버리 프로세스 검사는 컨테이너에서 애플리케이션을 식별하고 올바르게 분류할 수 있습니다. 그러나 해당 애플리케이션을 탐색하기 위해 실행된 후속 프로브는 컨테이너 내부를 볼 수 없으며 애플리케이션에 대한 상세 정보를 반환할 수 없습니다.
- 디스커버리 는 비활성 컨테이너를 포함하여 찾은 모든 컨테이너를 검사하므로 속도가 느려질 디스커버리수 있습니다. 실행하지 않는 컨테이너는 삭제해야 합니다.
- sn_itom_pattern.manifest_digest_image_id 속성을 예로 설정하고 디스커버리를 실행하기 전에 모든 이미지 기록을 Docker 삭제하여 중복 Docker 기록이 생성되지 않도록 합니다.
- 실제 또는 가상 컴퓨터에서 컴퓨터당 하나의 Docker 엔진만 허용됩니다.
가로 검색 중 디스커버리에서 수집하는 데이터
이러한 속성은 상위 OSLV 테이블에서 파생된 속성과 함께 검색됩니다.
| 테이블 및 필드 | 설명 |
|---|---|
| Docker 엔진 [cmdb_ci_docker_engine] | |
| 이름 [name] | Docker 엔진의 인스턴스에 관한 정보를 저장합니다. |
| OS 아키텍처 [os_arch] | |
| GIT 커밋 [git_commit] | |
| 빌드 날짜 [build_date] | |
| 버전 [version] | |
| API 버전 [api_version] | |
| Go 버전 [go_version] | |
| 클러스터됨 [is_clustered] | |
| 실행 중인 프로세스 [running_process] | |
| 실행 중인 프로세스 명령 [running_process_command] | |
| 실행 중인 프로세스 키 매개변수 [running_process_key_parameters] | |
| Docker 이미지 [cmdb_ci_docker_image] | |
| 이름 [name] | Docker 이미지의 전체적인 고유 표현에 대한 정보를 저장합니다. |
| 이미지 ID [image_id] | |
| 이미지 다이제스트[image_digest] | |
| 크기(바이트) [size_byte] | |
| 생성된 이미지 [Image_created_at] | |
| Docker 로컬 이미지 [cmdb_ci_docker_local_image] | |
| 이름 [name] | Docker 이미지의 로컬 인스턴스를 저장합니다. |
| 이미지 ID [image_id] | |
| Docker 이미지 태그 [cmdb_ci_docker_image_tag] | |
| 이름 [name] | 로컬 Docker 이미지에서 태그를 저장합니다. |
| 이미지 ID [image_id] | |
| 리포지토리 [repository] | |
| 태그 [tag] | |
| Docker 컨테이너 [cmdb_ci_docker_container] | |
| 이름 [name] | 호스트에서 찾은 Docker 컨테이너를 저장합니다. 중복 기록이 생성되는 경우 검색이 실행되면 중복 제거 작업이 나타납니다. 이러한 작업을 해결하는 방법에 대한 자세한 내용은 의 Docker 컨테이너 식별자 독립 [KB1443042] 문서를 ServiceNow® 지식베이스참조하십시오. |
| 이미지 ID [image_id] | |
| 컨테이너 ID [container_id] | |
| 크기(바이트) [size_bytes] | |
| 명령 [command] | |
| 작성된 컨테이너 [container_created] | |
| 상태 [status] | |
확장 섹션은 Collect Container Repository 이 정보를 검색합니다.
| 테이블 및 필드 | 설명 |
|---|---|
| 컨테이너 리포지토리 [cmdb_ci_container_repository] | |
| 이름 [name] | 컨테이너 리포지토리의 이름입니다. |
| 컨테이너 리포지토리 항목 [cmdb_ci_container_repository_entry] | |
| 이름 [name] | 컨테이너 리포지토리 항목의 이름입니다. |
| 범주 [category] | 컨테이너 리포지토리 항목의 범주입니다. |
CI 관계
Docker 패턴은 검색된 CI 간에 다음과 같은 관계를 식별합니다.
| CI | 관계 | CI |
|---|---|---|
| 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 | Manages::Managed By | cmdb_ci_docker_local_image |
|
cmdb_ci_docker_image |
Instantiates::Instantiated By |
cmdb_ci_docker_container |
|
cmdb_ci_docker_local_image 주:
이 관계 방향은 1.0.99, 2023년 2월 이전의 모든 스토어 버전에서 반대입니다. |
Instantiates::Instantiated By |
cmdb_ci_docker_container |
| cmdb_ci_docker_image_tag | 등록 날짜::등록됨 | cmdb_ci_docker_local_image |
| cmdb_ci_docker_local_image | Instantiates::Instantiated By | cmdb_ci_docker_image |
Docker 패턴의 Collect Container Repository 확장 섹션은 이러한 관계를 식별합니다.
| CI | 관계 | CI |
|---|---|---|
| Docker 이미지 [cmdb_ci_docker_image] | 프로비저닝 위치::P rovisioned | 컨테이너 리포지토리 항목 [cmdb_ci_container_repository_entry] |
| 컨테이너 리포지토리 항목 [cmdb_ci_container_repository_entry] | Hosted on::Hosts | 컨테이너 리포지토리 [cmdb_ci_container_repository] |
식별, 통제 및 호스팅 규칙
검색은 애플리케이션 규칙 식별자를 사용하여 Docker 엔진을 찾은 다음 특정 Docker 객체를 식별하는 다른 규칙을 적용합니다.
- 애플리케이션 규칙 식별자
프로세스 분류 과정에서 cmdb_ci_docker_engine CI(구성 항목)가 생성됩니다. 검색은 이에 따라 애플리케이션 [cmdb_ci_appl] 테이블의 애플리케이션 규칙 식별자를 사용하여 발생한 특정 Docker 엔진을 식별합니다. 이 ID를 설정한 후 검색은 포함 및 호스팅 규칙에 정의된 관계를 사용하여 해당 엔진과 관련된 개별 Docker 구성요소 CI를 정확하게 만들고 업데이트합니다.
- 식별자
이름 테이블 속성 Docker 컨테이너 Docker 컨테이너 [cmdb_ci_docker_container] container_id Docker 전역 이미지 Docker 이미지 [cmdb_ci_docker_image] image_id Docker 로컬 이미지 Docker 로컬 이미지 [cmdb_ci_docker_local_image] image_id Docker 이미지 태그 Docker 이미지 태그 [cmdb_ci_docker_image_tag] 리포지토리, 태그 - 통제 및 호스팅 규칙
- Docker 검색은 이를 사용하여 격리 규칙 컬렉션을 생성 또는 편집하고 호스팅 규칙 컬렉션을 생성 또는 편집하여 Docker 패턴에 의해 반환된 데이터에서 CI(구성 항목)를 생성합니다. 검색은 애플리케이션 [cmdb_ci_appl] 테이블과의 관계에 따라 Docker 엔진을 식별한 후 이러한 규칙을 사용하여 해당 엔진에 연결된 특정 CI를 상호 관계에서 식별합니다. 엔진부터 시작하여 애플리케이션에서 이러한 방식으로 구성요소를 서로 연결하면 디스커버리 동일한 이름이나 image_id 사용하는 다른 Docker 엔진의 구성요소에 대해 중복 CI가 생성되지 않습니다.
표 1. 포함 규칙 상위 하위 관계 Docker 로컬 이미지 Docker 이미지 태그 등록함 표 2. 호스팅 규칙 상위 하위 관계 Docker 컨테이너 Docker 엔진 관리자 Docker 로컬 이미지 Docker 엔진 관리자