반응형 개발삽질/잡다한 개발기록14 [EKS 스터디-7] EKS CI/CD 도커허브 이미지 올리기 실습용 도커이미지 생성 # ubuntu 이미지 다운로드 docker pull ubuntu:20.04 docker images # 실습을 위한 디렉터리 생성 및 이동 mkdir -p /root/myweb && cd /root/myweb # Dockerfile 파일 생성 vi Dockerfile FROM ubuntu:20.04 ENV TZ=Asia/Seoul VERSION=1.0.0 NICK= RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \ sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list && \ sed -.. 2024. 4. 21. [EKS 스터디-6] EKS Security K8S 인증/인가 - 네임스페이스를 생성하고, 각각 서비스 어카운트를 생성한다. # 네임스페이스(Namespace, NS) 생성 및 확인 kubectl create namespace dev-team kubectl create ns infra-team # 네임스페이스 확인 kubectl get ns # 네임스페이스에 각각 서비스 어카운트 생성 : serviceaccounts 약자(=sa) kubectl create sa dev-k8s -n dev-team kubectl create sa infra-k8s -n infra-team # 서비스 어카운트 정보 확인 kubectl get sa -n dev-team kubectl get sa dev-k8s -n dev-team -o yaml | yh kubectl .. 2024. 4. 13. [EKS 스터디-5] EKS Autoscaling 실습환경세팅 - 스터디제공 eks 생성 클라우드포메이션 yaml 배포 curl -O https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/K8S/eks-oneclick4.yaml # CloudFormation 스택 배포 예시) aws cloudformation deploy --template-file eks-oneclick4.yaml --stack-name myeks --parameter-overrides KeyName=kp-gasida SgIngressSshCidr=$(curl -s ipinfo.io/ip)/32 MyIamUserAccessKeyID=AKIA5... MyIamUserSecretAccessKey='CVNa2...' Cl.. 2024. 4. 3. [EKS 스터디-4] EKS Observability 실습환경 배포 난 슬랙으로 쏴서 퇴근길에, 또는 운동하고 샤워하면서 미리 클라우드포메이션을 구성하고 싶다. 저번 주차와 마찬가지로, 난 lambda로 cloudformation yaml을 실행하도록 구성하였다. 매주 버전이 달라지기에 , event payload에 version을 받아 스터디에서 제공해주는 yaml파일 맨 뒤에만 수정해주었다. def lambda_handler(event, context): client = boto3.client('cloudformation') key_name = os.environ['key_name'] access_key = os.environ['access_key'] secret_key = os.environ['secret_key'] sg_cidr = event['sg.. 2024. 3. 26. [EKS 스터디-2] 하) EKS 네트워크 공부 가상 네트워크란 일단 먼저, AWS VPC CNI를 이해하기 전에, 컨테이너의 가상 네트워크 먼저 알아야 한다 생각했다. 애초에 네트워크 지식이 전무하다싶었기 때문.. 가장 흔히 사용하는 도커를 생각해보면, 도커에서 컨테이너 가상화란 ‘서버 한대를 여러 컨테이너로 격리’하는 기술이다. 비슷하게, 가상 네트워크란 서버 한대 안에서 여러 네트워크를 구성하는 기술이다. 하나의 서버 안에서 컨테이너끼리는 어떻게 통신을 하는지, 그리고 서버 외부와 컨테이너와는 어떻게 통신을 하는지를 도커의 가상 네트워크가 해결해준다. 컨테이너를 실행시키면 도커는 가상의 네트워크인 브릿지 네트워크와 가상의 공유기인 브릿지를 생성한다. (보통 기본 브릿지는 172.17.0.1을 할당받음) 할당받은 브릿지 대역에서 컨테이너들에게 ip.. 2024. 3. 16. [EKS 스터디-1] 클러스터 구조와 기본사용법 EKS란 쿠버네티스를 쉽게 실행할 수 있는 관리형 aws 관리형 서비스이다. 순수한 쿠버네티스를 실행하면, 컨트롤플레인을 직접 설치하고 운영해야 하지만, EKS는 aws가 대신 해준다. 컨트롤플레인 여기서 컨트롤플레인이란 쿠버네티스 api서버, 컨트롤러, 스케쥴러, etcd를 말한다. 컨트롤플레인이 어떤 역할을 하는지는 예시를 보면 이해하기 쉽다. 아래 상황을 순서대로 따라가보며 이해하자. (출처: https://www.youtube.com/watch?v=Iue9TC13vPQ) 1. 내가 팟을 생성하기 위해 kubectl 명령어를 날린다. 2. api서버가 이를 받는다.(이때 요청의 문법/권한이 합당한지 판단함) 3. 워커노드에 대한 정보를 가지고 있는 etcd를 확인하고, 이 정보를 스케쥴러에게 보냄... 2024. 3. 6. 이전 1 2 3 다음 반응형