전체 글 (49) 썸네일형 리스트형 스터디 5주차 - 모듈 추가 내용 nested module과 child module의 차이? Nested ModuleA nested module is a reference to invoke another module from the current module (including from the root module). Nested modules can be located externally and are referred to as "child modules", or embedded inside the current workspace and are referred to as "submodules".현재 모듈 (루트 모듈 포함) 에서 또 다른 모듈을 호출하는 구조예를 들어, 1.루트 모듈 내부에서 다른 모듈을 호출하거나 2.child mod.. 테라폼 스터디 5주차 - 모듈 모듈이란Modules are containers for multiple resources that are used together. A module consists of a collection of .tf and/or tf.json files kept together in a directory. Terraform 모듈은 인프라 코드를 재사용 가능하고 효율적으로 관리할 수 있도록 구성한 코드 블록입니다. 모듈은 여러 리소스를 하나의 단위로 묶어 처리할 수 있으며, 대규모 인프라를 관리할 때 코드의 중복을 줄이고 유지보수를 쉽게 합니다. 모듈은 작은 단위의 작업(예: VPC 생성, EC2 인스턴스 배포 등)을 수행하도록 설계되며, 필요에 따라 호출하여 사용할 수 있습니다. -> 모듈을 이용해서 반복되는 코드.. 테라폼 스터디 - 4주차 Terraform State테라폼 상태 파일 (tfstate)-> terraform이 실제 인프라와 비교, 변경사항을 추적, 리소스의 현재 상태를 알 수 있게 해주는 파일 상태 파일은 Json에 불과하지만, 상태를 직접 수정하는 것은 권장되지 않음Terraform CLI는 terraform state 명령어를 통해 상태를 수정할 수 있게 제공 인프라 리소스의 추적리소스 ID, 속성, 리소스 간의 관계등이 포함되어 있음변경사항 추적상태(state)파일을 기반으로 실제 인프라와 현재 상태를 비교하고, 이를 통해 리소스를 변경한다.병렬 실행 최적화리소스 간의 의존 관계를 알 수 있기에, 상태 파일의 정보를 토대로 효율적인 병렬 작업 실행원격 상태 관리로컬 상태 파일 외에도 원격 상태 백엔드를 설정 하여, 여.. 테라폼 스터디 - 3주차 추가내용 테라폼으로 instance 띄우고 그 instance 내부에서 nginx 띄우는 방법? 방법 1. user_data 이용 인스턴스를 시작할 때 제공할 사용자 데이터. 이 인수를 통해 gzip 압축 데이터를 전달하지 마시고, 대신 user_data_base64를 참조하세요. 이 필드를 업데이트하면 기본적으로 EC2 인스턴스의 중지/시작이 트리거됩니다. user_data_replace_on_change가 설정되어 있으면 이 필드를 업데이트하면 EC2 인스턴스의 삭제 및 재생성이 트리거됩니다. 특징인스턴스가 처음 실행될 때 한번만 실행됨이미 실행된 인스턴스에 대해 변경사항 반영하기 어려움 / 인스턴스 재시작 또는 재생성이 필요resource "aws_instance" "example" { ami .. 테라폼 스터디 3주차 테라폼 설치Linuxwget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [arch= $( dpkg --print-architecture ) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $( lsb_release -cs ) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list sudo apt update && sudo apt install.. 테라폼 스터디 - 2주차 데브옵스의 등장. 전통적인 조직에서의 개발과 운영은 대립 관계에 있다. 개발은 서비스의 변화를, 운은 서비스 안정을 위해 유지하는 것을 선호한다. 이로인해 다음과 같은 문제들이 발생하게 된다.릴리즈 주기 지연 (개발부터 배포까지 아주 많은 시간이 소요됨)커뮤니케이션 부재 (릴리즈 주기 지연의 문제부터 사일로 현상 등 다양한 문제) - 비효율적, 비용 증가 다음과 같은 현상, 문화의 확산으로 인해 devops가 전파되기 시작한다. 애자일 개발론 : 빠른 개발 주기와 팀 간 협업을 강조 (빠르고, 반족적인)애자일의 빠른 개발주기에 맞춰 운용의 자동화가 필요해짐CI : 코드를 자주 통합하고, 이를 자동화된 방법으로 테스트 및 검증클라우드 서비스의 대중화 코드형 인프라란?위를 적용하기 위한 방법으로 인프라 정보.. Gitlab CI 스크립트에서 발생하는 분기로 파이프라인 제어하기 깃랩 CI 파이프라인 워크플로우는 기본적으로 rules로 각 작업(job)의 실행 여부를 평가 후에 워크플로우를 생성합니다. 그렇기 때문에 파이프라인을 동적으로 생성, 실행시키긴 위해선 기본적으로 rules if 키워드 등으로 작업 생성을 제어합니다. 기본적으로 rules if 키워드는 gitlab에서 제공되는 predefined variables(https://docs.gitlab.com/ee/ci/variables/predefined_variables.html)와 함께 사용됩니다. 그리고 그 값에 따라 해당 job이 생성되는지가 파이프라인 생성 단계에서 평가됩니다. 만약 job생성 여부를 predefined variables가 아닌 다른 variable로 평가하고 싶거나 job에서 실행되는 scrip.. kube-apiserver 트러블슈팅 (feat. kubelet) 집에서 쿠버네티스 클러스터를 구축하다보니 하루종일 컴퓨터를 켜 놓을 수는 없기에, 노드 컴퓨터들을 재부팅하는 경우가 자주 있다.이번에 마스터노드 컴퓨터를 업데이트하고 재부팅하니 kubectl 명령어가 먹통이 됐었다. kubectl get nodes 등의 명령어를 실행시켰을때 the connection to the server 6443 was refused해당 오류가 발생했었고, kubeadm 으로 kubernetes 클러스터 구축을 하다보니, kube-apiserver가 pod로 떠야하는데, 어떠한 문제 때문인지 pod로 안떠서 먹통이 되는듯 싶었다.lsof -i:6443 으로 6443포트 사용중인 프로세스를 확인해보니 역시 아무런 프로세스가 없었고, 이 때문이었다.일단 kubeadm으로 클러스터를 구성.. 이전 1 2 3 4 5 6 7 다음