이번 게시글은 가시다님의 AEWS [2기] 스터디 내용을 정리한 포스트 입니다. 이번 게시글은 3 주차의 스터디 내용인 EKS Storage와 NodeGroup에 대해 살펴봅니다. Kubernetes Storage 쿠버네티스의 최소 단위 배포 단위인 Pod는 1개 이상의 컨테이너로 구성됩니다. 컨테이너는 기본적으로 데이터의 영속성을 보장하지 않는데요. 이 말은 컨테이너의 재기동, 혹은 중지 이벤트가 발생하면 내부의 데이터가 손실되는 휘발성 저장소로 구성된다는 점 입니다. 따라서 컨테이너 엔진인 Docker Engine에서도 `Volume` 옵션을 제공하여 로컬호스트의 파일시스템과 컨테이너의 볼륨을 마운트하여 데이터의 영속성을 보장하게 됩니다. docker run -v : 쿠버네티스는 다양한 볼륨 설정을 ..
이번 게시글은 가시다님의 AEWS [2기] 스터디 내용을 정리한 포스트 입니다. 이번 게시글은 2 주차의 스터디 내용인 EKS Networking에 대해 살펴봅니다. EKS 원클릭 배포 사전 준비 AWS 계정 SSH 키 페어 IAM 계정 생성 후 키(Credentials) 전체 구성도 Cloud Formation으로 배포하기 여기를 클릭하면 Cloud Formation의 서울리전에 접속 됩니다. 스택 생성 메뉴에서 다음을 클릭합니다. 아래 사진의 체크 부분을 입력하고 default 값으로 두고 생성합니다. KeyName : bastion EC2 인스턴스 접근에 사용할 Key MyIamUserAccessKeyId: Iam User의 AccessKey MyIamUserSecretAccessKey: Iam U..
이번 게시글은 가시다님의 AEWS [2기] 스터디 내용을 정리한 포스트 입니다. 이번 게시글은 첫 주차의 스터디 내용인 Amazon EKS 설치 및 기본 사용에 대해 정리합니다. EKS의 구성 요소를 간단히 파악하고, 실제로 배포해 봅니다. Amzaon EKS 개요 Amazon EKS는 Kubernetes를 쉽게 실행할 수 있는 관리형 서비스입니다.[1] Kubernetes 클러스터는 컨트롤 플레인과 워커 노드로 구성되어 있습니다. EKS는 컨트롤 플레인을 여러 가용 영역에 인스턴스를 실행하여 고가용성을 보장하고, 지속적인 관리를 통해 비정상 적인 컨트롤 플레인 노드를 감지, 교체하며 자동화된 버전 업그레이드를 제공합니다. 오픈소스 Kubernetes 소프트웨어의 최신 버전을 사용하기에 Kubernete..
개요 쿠버네티스는 파드가 노드에 스케줄링 되는 즉시 해당 노드의 kubelet에 의해 파드를 생성하고, 파드가 존재하는한 컨테이너가 실행 상태를 유지하도록 합니다. 즉, 실행되는 컨테이너에 문제(Crash, bug, etc...)가 발생하여 중지 상태가 되면 이를 감지하고 새로운 컨테이너를 실행하도록 합니다. 이로써 문제가 발생하는 컨테이너를 정상화 시킬 수 있습니다. 그러나 쿠버네티스는 문제가 발생하는 파드를 감지하지 못하는 경우도 있습니다. 자바 애플리케이션의 OutofMemoryErrors, 교착상태, 무한 루프 등 이죠 이는 컨테이너 상태는 정상이지만 애플리케이션의 정상 작동이 불가한 경우 이며 정상적인 서비스 운영에 문제를 발생시킵니다. 컨테이너의 오류를 넘어서 애플리케이션의 오류를 감지하기 위..
개요 `2023 오픈소스 컨트리뷰션`의 `Argo Workflows`에 합류하게 되었습니다. 여러가지 주제 중 `Argo Workflows`를 선택한 이유는 클라우드 엔지니어 또는 devops 엔지니어로 전향하는 것을 목표로 하고있는데, `CNCF`가 관리하는 프로젝트이기도 하고 희망하고자 하는 직무와 너무 잘 맞는다고 생각했기 때문입니다. 하지만 아직 `Argo Workflows`를 사용해 본적이 없기 때문에 클라우드 메이트 기술블로그 Argo를 사용하자 글을 참고하여 `CI/CD Pileline`을 구현해 보며 `Argo`와 친해져 보려 합니다! Argo를 사용해보자 서문 Argo란 무엇인가? Argo는 2023년 2월 기준 Argo CD, Argo Workflows, Argo Rollouts, Ar..
Docker-Compose 💡 여러개의 컨테이너를 생성, 관리 할 수 있음 Install apt-get -y install docker-compose Config 일반적인 구성 docker-compose는 docker-compose.yml or docker-compose.yaml파일의 내용을 불러와 서비스를 실행시킨다. 따라서 아래와 같이 docker-compose.yml 파일을 생성한다. version: "3" services: mynginx: image: nginx # docker run --name 옵션과 동일 ports: - "7676:80" # docker run -p 옵션과 동일 {host-port}:{container-port} volumes: # docker run -v 옵션과 동일 {ho..
Docker Install #도커 설치 스크립트 curl -ssL | bash 도커 컨테이너 실행(생성)하기 #httpd이미지를 사용하는 컨테이너 실행하기 docker run httpd #httpd 이미지를 사용, --name 컨테이너 이름 지정, -d 백 그라운드 실행 docker run --name test -d httpd #-it, 컨테이너를 실행하며 바로 들어가겠다, centos:7 버전 이미지 사용, 보유 이미지가 없기 떄문에 pulling 할 것, 컨테이너 접속 시 bash 쉘 스크립트를 사용 #컨테이너 생성 명령어의 순서는 상관 없다, 다만 맨 뒤에 이미지를 정의하고, -IT 옵션을 사용한 경우는 이미지 뒤에 스크립트를 정의한다. docker run -it --name centos01 cen..