전체 215

[0522] 컨테이너 오케스트레이션 - 쿠버네티스 네트워크

학습 목표 컨테이너 오케스트레이션이 무엇인지 이해할 수 있다. 쿠버네티스의 간단한 작동 원리를 이해할 수 있다. 쿠버네티스 리소스 명세를 작성할 수 있다. 파드 명세를 작성할 수 있다. 디플로이먼트 명세를 작성할 수 있다. 서비스를 이용해 파드를 노출할 수 있다. kubectl 명령어를 사용하여 리소스의 생성, 삭제, 조회를 할 수 있다. kubectl 명령어를 사용하여 롤아웃 관련 작업을 진행할 수 있다. 롤링 배포 현황을 확인할 수 있다. 새로운 버전에 문제가 발생했을 때 롤백할 수 있다. (이하 advanced) liveness probe를 이용하여 파드의 health check를 할 수 있다. 쿠버네티스가 Stateful한 애플리케이션을 다루는 방법을 이해할 수 있다. 쿠버네티스에서 인그레스를 이..

Code States/TIL 2023.05.22

[0522] 컨테이너 오케스트레이션 - 쿠버네티스 구성 요소

학습 목표 컨테이너 오케스트레이션이 무엇인지 이해할 수 있다. 쿠버네티스의 간단한 작동 원리를 이해할 수 있다. 쿠버네티스 리소스 명세를 작성할 수 있다. 파드 명세를 작성할 수 있다. 디플로이먼트 명세를 작성할 수 있다. 서비스를 이용해 파드를 노출할 수 있다. kubectl 명령어를 사용하여 리소스의 생성, 삭제, 조회를 할 수 있다. kubectl 명령어를 사용하여 롤아웃 관련 작업을 진행할 수 있다. 롤링 배포 현황을 확인할 수 있다. 새로운 버전에 문제가 발생했을 때 롤백할 수 있다. (이하 advanced) liveness probe를 이용하여 파드의 health check를 할 수 있다. 쿠버네티스가 Stateful한 애플리케이션을 다루는 방법을 이해할 수 있다. 쿠버네티스에서 인그레스를 이..

Code States/TIL 2023.05.22

[0519] (페어) 컨테이너 오케스트레이션 - 새 버전이 망가졌어요

새 버전이 망가졌어요! 3.0에서 2.0으로 롤백하기 새 버전이 망가졌어요! 스프린트는, 버그가 있는 새 버전을 쿠버네티스를 이용해 롤링 업데이트를 시도하고, 구버전으로 롤백하는 과정을 담은 스프린트입니다. 시나리오 여기 CozServer라는 간단한 WAS가 있습니다. 버전 1.0은 정상적으로 잘 작동하는 애플리케이션입니다. 여기에 디플로이먼트 명세를 적용해서 파드의 레플리카를 배포할 것입니다. 이후에 2.0 버전을 만들고, 디플로이먼트를 이용해 업데이트를 적용합니다. 여기까지는 전혀 문제가 없습니다. 그러나 여기서 우리는 3.0 버전에 의도적으로 버그를 만들 것입니다. 3.0 버전에 문제가 발생하면, 2.0 버전으로 롤백해야 합니다. 이러한 과정을 통해 실질적으로 서비스 전체에 문제가 생기는 것을 막..

Code States/TIL 2023.05.19

[0518] 컨테이너 오케스트레이션 - 쿠버네티스 워크로드

학습 목표 컨테이너 오케스트레이션이 무엇인지 이해할 수 있다. 쿠버네티스의 간단한 작동 원리를 이해할 수 있다. 쿠버네티스 리소스 명세를 작성할 수 있다. 파드 명세를 작성할 수 있다. 디플로이먼트 명세를 작성할 수 있다. 서비스를 이용해 파드를 노출할 수 있다. kubectl 명령어를 사용하여 리소스의 생성, 삭제, 조회를 할 수 있다. kubectl 명령어를 사용하여 롤아웃 관련 작업을 진행할 수 있다. 롤링 배포 현황을 확인할 수 있다. 새로운 버전에 문제가 발생했을 때 롤백할 수 있다. (이하 advanced) liveness probe를 이용하여 파드의 health check를 할 수 있다. 쿠버네티스가 Stateful한 애플리케이션을 다루는 방법을 이해할 수 있다. 쿠버네티스에서 인그레스를 이..

Code States/TIL 2023.05.18

[0518] 컨테이너 오케스트레이션 - 쿠버네티스 주요 개념

학습 목표 컨테이너 오케스트레이션이 무엇인지 이해할 수 있다. 쿠버네티스의 간단한 작동 원리를 이해할 수 있다. 쿠버네티스 리소스 명세를 작성할 수 있다. 파드 명세를 작성할 수 있다. 디플로이먼트 명세를 작성할 수 있다. 서비스를 이용해 파드를 노출할 수 있다. kubectl 명령어를 사용하여 리소스의 생성, 삭제, 조회를 할 수 있다. kubectl 명령어를 사용하여 롤아웃 관련 작업을 진행할 수 있다. 롤링 배포 현황을 확인할 수 있다. 새로운 버전에 문제가 발생했을 때 롤백할 수 있다. (이하 advanced) liveness probe를 이용하여 파드의 health check를 할 수 있다. 쿠버네티스가 Stateful한 애플리케이션을 다루는 방법을 이해할 수 있다. 쿠버네티스에서 인그레스를 이..

Code States/TIL 2023.05.18

[0515-0516] (페어) Infrastructure as Code - Terraform x AWS

Full Stack 애플리케이션 구성 Bare Minimum Requirement 다음의 아키텍처를 terraform을 이용해 작성합니다. STEP 1: 자습서: DB 인스턴스에 사용할 Amazon VPC 생성 VPC 및 서브넷 생성 프라이빗 서브넷과 퍼블릭 서브넷이 각각 두 개, 총 네 개가 있어야 합니다. VPC 보안 그룹 생성 퍼블릭 웹 서버가 사용할 VPC 보안 그룹을 만들어야 합니다. 프라이빗 DB 웹 서버가 사용할 VPC 보안 그룹을 만들어야 합니다. DB 서브넷 그룹 생성 RDS 인스턴스가 사용할 VPC 서브넷 그룹을 만들어야 합니다. STEP 2: EC2 인스턴스 생성 만들어야 하는 사양은 다음과 같습니다. AMI: Ubuntu Server 18 인스턴스 타입: t2.micro 사용자 데이..

Code States/TIL 2023.05.16

[0512] Infrastructure as Code - Terraform

학습 목표 Infrastructure as Code(이하 IaC)의 의미와 필요성을 이해할 수 있다. 수동으로 인프라를 설정하는 것의 장/단점을 파악할 수 있다. IaC의 장점을 파악할 수 있다. IaC의 종류를 파악할 수 있다. 선언형 IaC와 절차형 IaC의 차이를 이해할 수 있다. 테라폼의 특징 및 장점을 통해 테라폼의 주 사용 목적을 이해할 수 있다. 예상치 못한 인프라 변경을 어떻게 대비하는지 이해할 수 있다. 불변(Immutable)한 인프라를 구성한다는 것의 의미를 이해할 수 있다. 테라폼의 작동 원리를 이해할 수 있다. 테라폼 공식 문서를 통해, HCL 언어로 인프라를 구성할 수 있다. 주요 명령어를 이해할 수 있다. 테라폼 상태 파일의 의미를 이해할 수 있다. 테라폼 상태 파일을 이용한 ..

Code States/TIL 2023.05.12

[0512] Infrastructure as Code - Infrastructure as Code (코드형 인프라)

학습 목표 Infrastructure as Code(이하 IaC)의 의미와 필요성을 이해할 수 있다. 수동으로 인프라를 설정하는 것의 장/단점을 파악할 수 있다. IaC의 장점을 파악할 수 있다. IaC의 종류를 파악할 수 있다. 선언형 IaC와 절차형 IaC의 차이를 이해할 수 있다. 테라폼의 특징 및 장점을 통해 테라폼의 주 사용 목적을 이해할 수 있다. 예상치 못한 인프라 변경을 어떻게 대비하는지 이해할 수 있다. 불변(Immutable)한 인프라를 구성한다는 것의 의미를 이해할 수 있다. 테라폼의 작동 원리를 이해할 수 있다. 테라폼 공식 문서를 통해, HCL 언어로 인프라를 구성할 수 있다. 주요 명령어를 이해할 수 있다. 테라폼 상태 파일의 의미를 이해할 수 있다. 테라폼 상태 파일을 이용한 ..

Code States/TIL 2023.05.12

[0511] (페어) 마이크로서비스 작성 - 서버리스 애플리케이션

Advanced Challenge 과제를 달성하면, S3 이벤트가 SQS로 전송되게 만들고, SQS로부터 이벤트를 받아 람다가 실행하게 만들어봅시다. 썸네일 생성이 완료되면, 메일로 해당 썸네일 URL과 함께 전송이 되게 만들어봅시다. Amazon SNS를 활용합니다. S3의 Pre-signed URL 기능을 이용하여, 업로드 전용 URL을 획득하고, 이를 통해 이미지를 S3 업로드할 수 있게 만들어봅시다. S3 이벤트가 SQS로 전송되게 만들고, SQS로부터 이벤트를 받아 람다가 실행하도록 만들기 람다 함수의 역할에 SQS Full Access 권한을 추가한다 SQS를 생성한다 S3 버킷에 이벤트 알림으로 SQS를 연결한다 람다 함수에 트리거로 SQS를 추가한다 람다 함수의 코드를 수정한다 SQS로 이..

Code States/TIL 2023.05.11

[0510] (페어) 마이크로서비스 작성 - 서버리스 애플리케이션

Bare Minimum Requirements 이미지가 업로드되면, 원본과 별도로 썸네일을 생성하고, 이를 별도의 버킷에 저장해야 합니다. 썸네일 이미지는 가로 200px의 크기를 가집니다. 썸네일을 저장할 별도의 버킷은 람다 함수의 환경 설정으로 구성되어야 합니다. 아래 과제 제출 방법을 참고해 GitHub에 제출합니다. sam init을 통해 템플릿을 생성한다 람다함수 파일을 수정한다 exports.helloFromLambdaHandler = async (event, context) => { console.log(event) console.log(context) return 'Hello from Lambda!'; } 빌드 후 배포를 진행한다 트리거로 사용할 버킷을 생성한다 만든 버킷으로 트리거를 추가..

Code States/TIL 2023.05.11