[CI/CD 구축] k8s + 테라폼 + 젠킨스

개발냥이·2025년 5월 18일

데브코스

목록 보기
57/75
post-thumbnail

목차

테라폼 사용
k8s + 테라폼 + 젠킨스 연동하기
Terraform Cloud

Iac와 테라폼

  • Iac (Infrastructure as Code)
    - 구성 관리

    • 버전관리 , 재사용 , 공유 등에 유리
  • 테라폼 (Terraform)
    - Hashicorp사에서 제공하는 IaC 도구

인프라를 코드로 관리하여 정의하고 자동화하는 역할을 한다!!


테라폼 사용

그렇다면 docker와 테라폼을 사용하는 것을 해보겠다.

1. 설치

  • Linux : 실행 파일 다운 및 설치
  • Mac : 패키지 매니저 이용
  • window : 실행 파일 설치

2. 첫 번째 구성 설정을 작성 (main.tf)

적당한 빈 디렉토리를 만들고 버전 , Docker 이미지 등등을 적용

main.tf 파일 보기 ```docs terraform { required_providers { docker = { source = "kreuzwerker/docker" version = "~> 3.0.1" } } }

provider "docker" {}

resource "docker_image" "nginx" {
name = "nginx"
keep_locally = false
}

resource "docker_container" "nginx" {
image = docker_image.nginx.image_id
name = var.container_name

ports {
internal = 80
external = 8000
}
}

```
--- 그 후 해당 디렉토리로 가서 ```bash terraform init ``` 명령어를 입력하면 된다.
terraform validate

이 명령어 입력후 Success! 문구가 있다면 성공!!

terraform apply 

명령어를 입력 후 "yes"를 입력하면 리소스가 만들어진다.
뒤에 옵션으로 --auto--approve를 입력하면 "yes"없이 생성

⚠️삭제하기

terraform destory

k8s + 테라폼 + 젠킨스 연동하기

1. 테라폼 파일 준비하기

2. 파일들 도커에 적용하기

첫 번째 구성 설정으로 이동

3. K8s에 Jenkins 배포

4. 젠킨스에서 Terraform 실행

5. CI/CD 파이프라인 구축


Terraform Cloud 서비스

  • 장점
    - 인프라 상태 정보 유지하기 용이함.
    - 자동화된 플래닝 및 실행
    - 일부 기능 무료로 이용 가능

이러한 이유로 Terraform Cloud 서비스 사용

  • 사용 방법
    - 1. https://app.terraform.io/ 회원가입
      1. Organization 생성
      1. 콘솔 로그인
          1. 테라폼 클라우드 설정
      1. Workspace 생성 및 설정
profile
웹 개발자가 되고픈

0개의 댓글