본문 바로가기
728x90

스터디 이야기75

[KANS] 컨테이너 격리 - 1. chroot, pivot_root, mount namespace 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. 컨테이너 격리컨테이너 격리의 역사chrootchroot는 change root의 약자의 명령어입니다. 특정 프로세스와 그 하위 프로세스들의 루트 디렉터리(/)를 시스템의 다른 디렉터리로 변경하는 기능을 제공합니다. 다시말해 user 디렉터리를 user 프로세스에게 최상위 디렉토리인 root 디렉터리를 속여서 접근이 가능하도록 합니다. (탈옥이 가능하여 현재는 사용하지 않습니다.)즉, chroot는 경로를 모아서 패키징하고 새로운 경로에 가둬서 실행(격리)하는 명령어입니다.chroot 실습 - sh, ls해당 실습은 터미.. 2024. 8. 29.
[KANS] Container와 Docker 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. 도커도커란?  도커(Docker)는 소프트웨어를 구동시키기 위한 가상 실행 환경을 제공해주는 오픈 소스 플랫폼입니다. 도커에서는 이 가상실행 환경을 '컨테이너(Container)'라고 부릅니다. 조금 더 정확히 표현하는 용어는 '컨테이너화된 프로세스(Containerized Process)' 입니다.이 컨테이너는 애플리케이션과 애플리케이션에 필요한 모든 종속성을 포함하며, 호스트 운영체제와 독립적으로 실행될 수 있습니다. 이를 통해 개발자는 코드가 어떤 환경에서도 일관되게 동작할 수 있도록 보장할 수 있습니다. 즉, .. 2024. 8. 28.
[T101] Terraform - OpenTofu 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다.OpenTofuOpenTofu란 Terraform이 라이센스를 비즈니스 레벨로 변경함에 따라 Terraform의 포크(fork) 버전입니다. 이전의 이름은 OpenTF였지만, OpenTofu로 이름을 변경하였고, 오픈 소스, 커뮤니티 중심, Linux Foundation에서 관리합니다. 또한, OpenTofu는 클라우드와 온프레미스 리소스를 모두 사람이 읽을 수 있는 구성 파일에 정의하여 버전 관리, 재사용 및 공유할 수 있는 코드 도구로서의 인프라입니다. 더하여 워크플로를 통해 라이프사이클.. 2024. 8. 1.
[T101] Terraform - Terraform으로 EKS 배포하기 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. AWS EKS Workshophttps://eksworkshop.com/docs/introduction/ Introduction | EKS WorkshopWelcome to the AWS Elastic Kubernetes Service (EKS) workshop!www.eksworkshop.com 위의 실습 예제를 참고하여 Terraform으로 Amazon EKS를 배포하는 실습을 진행해보려고 합니다. 사전 준비awscli(IAM 자격증명) : https://docs.aws.amazon.c.. 2024. 7. 27.
[T101] 5-2. Terraform - Terraform Runner(Atlantis) 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다.Terraform RunnerTerraform Runner란 인프라스트럭처 코드(Infrastructure as Code, IaC)를 실행하고 관리하기 위해 사용되는 도구로서, 주로 Terraform 스크립트를 자동으로 실행하거나 CI/CD 파이프라인에 통합하기 위해 사용됩니다. Terraform 설정 파일(.tf)을 자동으로 실행하여 인프라를 프로비저닝하고, Terraform의 상태 파일(.tfstate)을 관리하여 인프라의 현재 상태를 추적하고, 변경 사항을 적용합니다. Atlantis .. 2024. 7. 12.
[T101] 5-1. Terraform - module 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다.Module테라폼 모듈이란 단일 디렉토리에 있는 Terraform 구성 파일 세트입니다.  테라폼으로 인프라와 서비스를 관리하면 시간이 지날수록 구성이 복잡해지고 관리하는 리소스가 자연스럽게 늘어나게 됩니다. 테라폼의 구성 파일과 디렉토리 구성에는 제약이 없기 때문에 단일 파일 구조상에서 지속적으로 업데이트가 가능하지만 몇가지 문제가 발생합니다.단일 구조의 단점1. 테라폼 구성에서 원하는 항목을 찾고 수정하는 것이 점점 번거로워짐2. 리소스들 간의 연관 관계가 복잡해질수록 변경 작업의 영향도.. 2024. 7. 9.
[T101] 4-2. Terraform - State 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. State테라폼은 state(상태)가 있는 stateful 애플리케이션입니다. 프로비저닝 결과에 따른 State를 저장하고 프로비저닝한 모든 내용을 저장된 상태로 추적합니다. 로컬 실행 환경에서는 terraform.tfstate 파일에 JSON 형태로 저장되고, 팀이나 조직에서의 공동 관리를 위해서는 원격 저장소에 저장하여 공유하는 방식으로 활용합니다. state에는 작업자가 정의한 코드와 실제 반영된 프로비저닝 결과를 저장하고, 이 정보를 토대로 리소스 생성/리소스 수정/리소스 삭제에 대.. 2024. 7. 4.
[T101] 4-1. Terraform - Provider 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. Provider테라폼은 terraform binary 파일을 시작으로 로컬 환경이나 배포 서버와 같은 원격 환경에서 원하는 대상을 호출하는 방식으로 실행됩니다. 이때 '원하는 대상'은 호출하는 방식이 서로 다르지만 대상의 공급자(프로바이더)가 제공하는 API를 호출하여 상호작용합니다. 각 프로바이더의 API 구현은 서로 다르지만 테라폼의 고유 문법으로 동일한 동작을 수행하도록 구현되어있습니다. 또한, 프로바이더는 플러그인 형태로 테라폼에 결합되어 대상이 되는 클라우드, SaaS, 기타 AP.. 2024. 7. 2.
[T101] 3-8. Terraform - moved 블록 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. Moved 블록테라폼의 State에 기록되는 리소스 주소의 이름이 변경되면 기존 리소스는 삭제되고 새로운 리소스가 생성됩니다. 하지만 테라폼 리소스를 선언하다 보면 이름을 변경해야 하는 상황이 발생하기도 합니다.리소스 이름을 변경count로 처리하던 반복문을 for_each로 변경리소스가 모듈로 이동하여 참조되는 주소가 변경리소스의 이름은 변경되지만 이미 테라폼으로 프로비저닝된 환경을 그대로 유지하고자 하는 경우 테라폼 1.1 버전부터 moved 블록을 사용할 수 있습니다. moved 블록.. 2024. 6. 28.
728x90