GitLab이 관리하는 클러스터 자원 추적 (사용 중단됨)
- GitLab 14.0에서 소개됨.
- GitLab 15.3에서 GitLab Premium에서 GitLab Free로 이동됨.
GitLab은 인벤토리 객체를 사용하여 클러스터에 배포하는 리소스를 추적합니다.
인벤토리 객체는 제어되는 객체 목록을 포함하는 ConfigMap
입니다.
관리되는 리소스는 cli-utils.sigs.k8s.io/inventory-id
주석을 사용합니다.
인벤토리 객체의 기본 위치
에이전트 구성 파일에서 프로젝트 목록을 지정합니다. 예:
gitops:
manifest_projects:
- id: gitlab-org/cluster-integration/gitlab-agent
default_namespace: my-ns
에이전트는 manifest_projects
목록의 각 항목에 대해 인벤토리 객체를 생성합니다.
인벤토리 객체는 default_namespace
로 지정한 네임스페이스에 저장됩니다.
인벤토리 객체의 이름과 위치는 다음을 기반으로 합니다:
-
default_namespace
. 이 매개변수를 지정하지 않으면, 인벤토리 객체는default
네임스페이스에 저장됩니다. -
name
은 매니페스트가 있는 프로젝트의 ID 및 에이전트의 ID입니다.
default_namespace
매개변수를 변경하거나
다른 프로젝트로 매니페스트를 이동하는 경우 기존 인벤토리 객체를 찾을 수 없습니다.인벤토리 객체의 위치 변경
인벤토리 객체의 네임스페이스 및 이름을 구성할 수 있습니다. 이 작업은 클러스터 내 객체의 위치를 변경합니다.
-
인벤토리 객체 템플릿을 생성합니다.
ConfigMap
객체입니다. 예:apiVersion: v1 kind: ConfigMap metadata: name: unique-name-for-the-inventory namespace: my-project-namespace labels: cli-utils.sigs.k8s.io/inventory-id: unique-name-for-the-inventory
-
namespace
및name
을 지정합니다.name
이 다른 인벤토리 객체와 충돌하지 않도록 고유해야 합니다. -
cli-utils.sigs.k8s.io/inventory-id
값이 고유한지 확인합니다. 이 값은이 인벤토리 객체에서 추적하는 객체에 사용됩니다.config.k8s.io/owning-inventory
주석이 이 값으로 설정됩니다.값은
name
과 일치할 필요는 없지만 동일한 값으로 설정하는 것이 편리합니다. - 매니페스트 파일을 단일 논리적 그룹으로 저장합니다.
inventory_policy
옵션
때로는 매니페스트 변경으로 GitLab 인벤토리 객체로 추적되지 않는 리소스에 영향을 미칩니다.
에이전트가 기존 및 이전에 추적되지 않은 리소스를 덮어쓸 때 작동 방식을 변경하려면 inventory_policy
값을 변경합니다.
inventory_policy 값
| 설명 |
---|---|
must_match
| 기본 정책입니다. 업데이트하려면 라이브 객체에는 해당 인벤토리 객체에있는 cli-utils.sigs.k8s.io/inventory-id 레이블과 동일한 값으로 config.k8s.io/owning-inventory 주석이 있어야 합니다. 값이 일치하지 않거나 객체에 주석이 없는 경우, 객체가 업데이트되지 않고 오류가보고됩니다.
|
adopt_if_no_inventory
|
config.k8s.io/owning-inventory 주석이없는 객체를 채택합니다.이 모드를 사용하면 GitOps 기능을 사용하여 기존 객체를 관리하려는 경우가 있습니다. 예기치 않은 채택을 피하기 위해 모든 객체를 채택 한 후 설정을 기본 must_match 모드로 변경하십시오.
|
adopt_all
|
config.k8s.io/owning-inventory 주석이 다른 값으로 설정된 객체도 가져옵니다.이 모드를 사용하면 일부 객체를 다른 에이전트로 또는 다른 도구에서 에이전트로 마이그레이션하려는 경우가 있습니다. 예기치 않은 채택을 피하기 위해 모든 객체를 채택 한 후 설정을 기본 must_match 모드로 변경하십시오.
|