InfoGrab Docs

GitLab 관리형 Kubernetes 리소스

GitLab 관리형 Kubernetes 리소스에 대해 설명합니다.

히스토리 GitLab 17.9에서 gitlab_managed_cluster_resources 라는 플래그 와 함께 도입 됨. 기본적으로 비활성화됨. GitLab 18.1에서 기능 플래그 gitlab_managed_cluster_resources 가 제거 됨. GitLab 관리형 Kubernetes 리소스를 사용하여 환경 템플릿으로 Kubernetes 리소스를 프로비저닝합니다. 환경 템플릿은 다음을 수행할 수 있습니다: 새 환경에 대한 네임스페이스 및 서비스 계정 자동 생성 역할 바인딩을 통한 접근 권한 관리 기타 필요한 Kubernetes 리소스 구성 개발자가 애플리케이션을 배포하면 GitLab은 환경 템플릿을 기반으로 리소스를 생성합니다. GitLab 관리형 Kubernetes 리소스 구성 # 사전 요구 사항: Kubernetes용 GitLab 에이전트 가 구성되어 있어야 합니다. 관련 프로젝트나 그룹에 접근하도록 에이전트에 권한을 부여 했어야 합니다. (선택 사항) 권한 에스컬레이션을 방지하기 위해 에이전트 가장 을 구성했어야 합니다. 기본 환경 템플릿은 ci_job 가장 을 구성했다고 가정합니다. Kubernetes 리소스 관리 켜기 # 에이전트 구성 파일에서 # 리소스 관리를 켜려면 에이전트 구성 파일을 수정하여 필요한 권한을 포함합니다: ci_access: projects: - id: <your_group/your_project> access_as: ci_job: {} resource_management: enabled: true groups: - id: <your_other_group> access_as: ci_job: {} resource_management: enabled: true CI/CD 작업에서 # 에이전트가 환경의 리소스를 관리하도록 하려면 배포 작업에서 에이전트를 지정합니다. 예시: deploy_review: stage: deploy script: - echo "Deploy a review app" environment: name: review/$CI_COMMIT_REF_SLUG kubernetes: agent: path/to/agent/project:agent-name CI/CD 변수는 에이전트 경로에 사용할 수 있습니다. 자세한 내용은 변수를 사용할 수 있는 위치 를 참조하세요. 환경 템플릿 생성 # 환경 템플릿은 생성, 업데이트 또는 제거할 Kubernetes 리소스를 정의합니다. 기본 환경 템플릿 은 Namespace 를 생성하고 CI/CD 작업에 대한 RoleBinding 을 구성합니다. 기본 템플릿을 덮어쓰려면 에이전트 디렉토리에 default.yaml 이라는 템플릿 구성 파일을 추가합니다: .gitlab/agents/<agent-name>/environment_templates/default.yaml 지원되는 Kubernetes 리소스 # 다음 Kubernetes 리소스( kind )가 지원됩니다: Namespace ServiceAccount RoleBinding FluxC