terraform 50

테라폼으로 EKS만들기 프로젝트 1편 - 개요

EKS스터디가 끝나고 EKS 템플릿을 만드는게 좋을 것 같다고 생각했습니다. 그래서 EKS스터디에서 진행하지 못했던 테라폼을 병행해서 EKS템플릿을 만들기로 생각했습니다. 목표 회사 팀원들도 같이 따라갈 수 있도록 문서작성과 예제생성 테라폼으로 EKS배포 테라폼으로 argocd배포(변경될 수 있음) argocd를 사용하여 bootstrap 쿠버네티스 오픈소스 배포

연재 시리즈 2023.06.18

테라폼 스터디 졸업과제 - kind cluster + argocd

1. 선수지식 이 글은 쿠버네티스 그리고 helm, argocd, minio, argoworkflow, cnpg operator, terraform을 사용할 수 있다는 전제로 설명합니다. 2. 프로젝트 작업분리 프로젝트의 작업은 테라폼파트와 argocd파트로 나눠집니다. 테라폼이 쿠버네티스 필수 리소스와 argocd설치 작업을 관리합니다. argocd는 나머지 쿠버네티스 리소스를 관리합니다. 2.1 테라폼 파트 테라폼 kind provider로 쿠버네티스를 구축합니다. 테라폼 kubectl proivder로 필수 쿠버네티스 리소스를 설치(예: nginx ingress)합니다. 테라폼 helm provider로 argocd를 설치합니다. 2.2 Argocd 파트 argocd를 app of apps패턴을 이..

연재 시리즈 2022.12.11

테라폼 시리즈. 졸업과제 준비

영상: https://youtu.be/4hqu5eagYJQ 1. 아이디어 테라폼 스터디 졸업과제로 할까 고민 중, 요즘 개인공부로 로컬테스트할 때 불편했던 쿠버네티스 구축이 떠올랐습니다. 쿠버네티스 설치와 삭제가 쉬우면서 테스트에 필요한 환경을 자동화해보면 좋지 않을까라는 시작으로 자료조사를 시작했습니다. 2. 자료조사 2.1 쿠버네티스 생성 제일 먼저 로컬에서 설치할 수 있는 쿠버네티스 오픈소스를 찾았습니다. kubespray rancher desktop docker desktop kind 2.2 후보선택: kind 후보 중 kind가 설치와 삭제가 제일 간편하고 시간도 안걸려서 kind 공식문서를 훓어봤습니다. kind는 쿠버네티스 노드를 도커 컨테이너로 사용하는 독특한 오픈소스였습니다. 그리고 In..

연재 시리즈 2022.12.04

테라폼 시리즈 35편. 중앙 집중식 비밀저장소와 테라폼 연동

영상: https://youtu.be/IM8Xdx9-wGk 테라폼 코드에 불가피하게 민감정보를 작성해야 하는 경우, 중앙 집중식 비밀 저장소(aws Secret Manager, Valut 등)를 사용하여 민감정보 노출을 최소화 할 수 있습니다. 중앙 집중식 비밀 저장소란? 중앙 집중식 비밀 저장소는 민감정보를 안전하게 저장하는 저장소입니다. 운영자가 민감정보를 저장소에 저장하면 사용자는 저장소에 접근하여 민감정보를 조회합니다. 테라폼 연동 테라폼에서는 data block으로 중앙 집중식 비밀 저장소에 저장된 민감정보를 조회할 수 있습니다. 예제 - aws secret manager aws secret manager를 이용하여 aws RDS 계정과 비밀번호를 설정하는 예제를 실습하겠습니다. 먼저 secre..

연재 시리즈 2022.11.26

테라폼 시리즈 34편. 민감정보 보호

영상: https://youtu.be/-ysCr2BsC1I 민감정보 노출되는 부분 테라폼의 민감정보(비밀번호 등)는 외부에 공개되거나 보안사고를 당했을 때 노출이 되는 문제가 있습니다. 민감정보가 노출될 수 있는 위치는 테라폼 코드와 상태파일 2종류입니다. provider block 민감정보 provider block에서 인증정보 설정가 민감정보에 해당합니다. 예로 aws provider에는 access_key와 secret_key가 민감정보입니다. 외부에 공개될 경우 인증정보가 그대로 노출되므로 절대 인증정보를 provider block에 설정하면 안됩니다. provider "aws" { region = "us-west-2" access_key = "my-access-key" secret_key = "..

연재 시리즈 2022.11.24

테라폼 시리즈 33편. for expression을 이용한 반복문

영상: https://youtu.be/Hj_FGLNmXNI for expression이란? For expression은 반복을 이용하여 일괄 변환작업에 사용합니다. 변환작업은 타입 또는 값을 수정하는 작업입니다. 주의사항은 For expression의 결과 타입은 tuple 또는 object입니다. 원본이 list이더라도 결과는 tuple 또는 Object로 변환됩니다. [ ]를 사용하면 tuple 타입, { }를 사용하면 object 타입으로 변환됩니다. [for item in 조회할 expression: 변환작업] --> 리턴값이 tuple {for item in 조회할 expression: 변환작업} --> 리턴값이 object 예제 - s3 bucket이름 일괄 수정 for expression을 ..

연재 시리즈 2022.11.19