교육108 [99일 차] 21.12.13 : Kubernetes 1 Kubernetes - 기초 이론 - 쿠버네티스 설치 : Vagrant 환경과 AWS EKS 환경 1교시 쿠버네티스 환경을 크게 2가지로 구분하셨다. -> VirtualBox를 사용한 Vagrant 환경 -> AWS의 EKS 서비스를 활용한 환경 둘 다 수업 진행 쿠버네티스 개요는 그동안 많이 들었다. -> 컨테이너를 관리하는 호스트(노드)를 묶어 클러스터가 되는데, 클러스터 내부 요소 관리를 각각 하는 것은 번거롭다 -> 클러스터링 + 컨테이너 오케스트레이션 = 쿠버네티스 하나의 컨테이너를 관리하는 기술은 아님(= 세부적인 기술은 아니다) 다수의 컨테이너를 배포하고, 배포를 받을 노드의 리소스 자원을 모니터링한다. -> 어느 노드에 컨테이너를 배포하면 좋을지 결정 -> 이용자로 인한 부하의 증가에 유연.. 2021. 12. 13. [98일 차] 21.12.10 : Docker Docker 전반적인 내용 빠르게 복습 1교시 도커 기본 수업 + 다음 주는 쿠버네티스/EKS Docker 앱 실해에 필요한 환경을 하나의 이미지로 모아 두고, 그 이미지를 사용하여 다양한 환경에서 앱 실행 환경을 구축/운용하기 위한 오픈소스 플랫폼 컨테이너와 도커 컨테이너는 다르다. 컨테이너는 리눅스에서 자원을 효율적으로 사용하기 위한 격리 시스템 프로세스 도커 컨테이너는 이런 컨테이너를 프로세스의 개념이 아닌 VM의 개념으로 돌린 것 호스트 OS상에 논리적 구획(컨테이너)을 만들어 앱을 작동시키기 위해 필요한 라이브러리나 앱 등을 하나로 모아 별도의 서버처럼 사용할 수 있게 한다. 컨테이너는 VM보다 작다 -> 호스트의 리소스 자원을 덜 먹는다(경량화) 일반적인 시스템 개발 흐름은 [앱 + 미들웨어 .. 2021. 12. 10. [97일 차] 21.12.09 : Terraform 6 Terraform - 조건식 + 데이터 소스 - 무중단 배포 1교시 모듈 폴더에서 2가지의 user_data.sh 스크립트를 제공하고, 사용자가 어떤 스크립트를 실행할지 선택할 수 있게 해 보자. -> 모듈 폴더에 2가지 스크립트 생성, template_file 데이터 소스를 통해 스크립트 정의 -> 모듈 사용자가 스크립트를 선택할 수 있도록 입력 변수 정의 -> template_file 데이터 소스에 count 매개 변수를 이용, 특정 스크립트가 선택되게 설정 -> 시작 구성 리소스에 template_file 데이터 소스 정의 template 매개 변수로 스크립트 파일이 어디 있는지 알려준다. 루트 모듈에서 source 매개 변수로 모듈의 위치를 지정하는데, 이 경로가 path.module이 된다. 대.. 2021. 12. 9. [96일 차] 21.12.09 : Terraform 5 Terraform - 반복문 처리 : for_each - 조건문 처리 : Boolean type의 매개 변수를 사용한 방식, count 매개 변수를 사용한 방식, 3항 연산자를 사용한 방식 1교시 count 매개 변수를 입력 매개변수로 받을 때, 리스트만 가능 for_each 표현식을 사용한 반복문 처리 -> 집합, 맵을 사용하여 전체 리소스의 여러 복사본 또는 리소스 내 인라인 블록의 여러 복사본 생성 가능 for_each = COLLECTION은 루프를 처리할 집합 또는 맵 for_each의 값으로는 리스트를 사용할 수 없다. -> toset(리스트)로 리스트를 딕셔너리 형태의 값(키:값)으로 변환해서 사용 -> 무작위 키 값: 리스트 요소 값 2교시 출력값을 뽑아낼 때에도 딕셔너리 형식에 맞게 뽑아.. 2021. 12. 8. [95일 차] 21.12.07 : Terraform 4 Terraform - 모듈 : 모듈 호출, 지역 변수, 모듈 출력, 입력 매개변수 - 반복문 : count 매개변수 1교시 루트 모듈 : 인프라 구축 코드(모듈 코드)가 실제로 작동한 위치 global\s3에서 init > plan > apply 하고, stage에서 진행하고. 모듈에 있는 main.tf 파일은 배포할 목적이 아니다. 다른 곳에서 이 파일을 끌어다 쓰는 것. -> 모듈 코드에 리전 정보나 인프라 이름 등은 작성할 필요가 없다 2교시 이 코드를 이해하는 것이 중요하다. -> user-data.sh라는 파일을 모듈이 있는 경로에서 가져온다 -> server_port는 현재 경로에 있는 variables.tf 파일에서 가져온다 -> db_address/db_port는 현재 main.tf의 te.. 2021. 12. 7. [94일 차] 21.12.06 : Terraform 3 Terraform - 데이터 소스 참조, 모듈 1교시 저번 시간 복습 상태 파일 격리 -> 전체를 날려버리는 위험을 고려해 분리된 환경으로 상태 저장 파일을 격리한다. 원격 백엔드 기능 사용 -> 수동 오류/잠금/시크릿 문제를 해결하기 위해 원격 백엔드 기능 사용 : S3 버킷과 DynamoDB 사용 테라폼에서의 모듈 -> ex) VPC 모듈을 하나 만들면 이름만 다르게 해서 모듈을 끌어다 쓰면 손쉽게 인프라 복제 가능 파일 레이아웃을 이용한 격리 -> 구성 요소 배포의 확인이 쉬워지고 장애 발생 시 손상 최소화 단점은 1. 한 번의 명령으로 전체 인프라를 만들 수 없다 : 각 폴더의 main.tf마다 apply를 해줘야 한다. 2. 리소스 종속성을 사용하기 어렵다 : 다른 폴더의 속성에 직접 액세스 불.. 2021. 12. 6. 이전 1 2 3 4 5 ··· 18 다음