OpenTofu와 GitLab을 사용한 Infrastructure as Code
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab으로 인프라를 관리하려면 OpenTofu와의 통합을 사용하여 버전 관리, 재사용 및 공유할 수 있는 리소스를 정의할 수 있습니다: GitLab이 OpenTofu 통합으로 제공하는 기능의 비디오 개요를 시청하세요.
GitLab으로 인프라를 관리하려면 OpenTofu와의 통합을 사용하여 버전 관리, 재사용 및 공유할 수 있는 리소스를 정의할 수 있습니다:
- 컴퓨팅, 스토리지, 네트워킹 리소스와 같은 낮은 수준의 구성 요소를 관리합니다.
- DNS 항목 및 SaaS 기능과 같은 높은 수준의 구성 요소를 관리합니다.
- OpenTofu 상태 저장소로 GitLab을 사용합니다.
- OpenTofu 모듈을 저장하고 사용하여 일반적이고 복잡한 인프라 패턴을 단순화합니다.
- GitOps 배포 및 Infrastructure-as-Code(IaC) 워크플로우를 통합합니다.
GitLab이 OpenTofu 통합으로 제공하는 기능의 비디오 개요를 시청하세요.
다음 예시는 주로 OpenTofu를 사용하지만 Terraform에서도 작동할 수 있습니다.
Terraform 및 OpenTofu 지원#
GitLab은 Terraform과 OpenTofu 모두와 통합됩니다. 대부분의 기능이 완전히 호환되며 다음을 포함합니다:
단순성을 위해 GitLab 문서는 주로 OpenTofu를 참조합니다. 그러나 Terraform과 OpenTofu 통합의 차이점은 문서화되어 있습니다.
파이프라인에서 OpenTofu 프로젝트 빠른 시작#
OpenTofu는 GitLab OpenTofu CI/CD 컴포넌트를 통해 모든 Terraform 특화 GitLab 기능과 통합할 수 있습니다.
컴포넌트를 포함하여 파이프라인에 validate, plan, apply 워크플로우를 추가할 수 있습니다:
include:
- component: gitlab.com/components/opentofu/validate-plan-apply@
inputs:
version:
opentofu_version:
root_dir: terraform/
state_name: production
stages: [validate, build, deploy]
템플릿, 입력 및 OpenTofu CI/CD 컴포넌트 사용 방법에 대한 자세한 내용은 OpenTofu CI/CD 컴포넌트 README를 참조하세요.
자체 Terraform CI/CD 템플릿 빌드 및 호스팅#
GitLab은 더 이상 Terraform CI/CD 템플릿과 terraform-images(기반 job 이미지, terraform 포함)를 배포하지 않지만,
여전히 GitLab 파이프라인에서 Terraform을 사용할 수 있습니다.
자체 템플릿 및 이미지를 빌드하고 호스팅하는 방법에 대해 알아보려면 Terraform Images 프로젝트를 참조하세요.
관련 주제#
- Terraform/OpenTofu 모듈 레지스트리로 GitLab을 사용합니다.
- 상태 파일을 로컬 스토리지 또는 원격 저장소에 저장하려면 GitLab 관리 Terraform/OpenTofu 상태를 사용합니다.
- Terraform 코드 변경 및 IaC 워크플로우를 협업하려면 머지 리퀘스트에서 Terraform 통합을 사용합니다.
- 사용자, 그룹 및 프로젝트와 같은 GitLab 리소스를 관리하려면 GitLab Terraform 제공자를 사용합니다. GitLab Terraform 제공자 문서는 Terraform 문서 사이트에서 확인할 수 있습니다.
- Amazon Elastic Kubernetes Service(EKS)에서 새 클러스터 만들기.
- GitLab 및 Terraform의 문제 해결.
gitlab-terraform셸 스크립트가 포함된 이미지 보기.
