목록수업내용 (19)
쟝이의 세상
📌 eksctl / kubectl / kubeadm / kubelet 다운로드✔️ eksctl 다운로드 (ec2-user에서 실행)$ curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmpeksctl 파일 이동$ sudo mv /tmp/eksctl /usr/local/bin ✔️ kubectl 다운로드 (ec2-user에서 실행)$ cd /usr/local/bin$ sudo curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05..
📌 클러스터 생성 및 역할 생성✔️ 클러스터 생성EKS > 클러스터 > EKS 클러스터 생성입력 구분입력 내용1단계 - 클러스터 구성이름k8s_cluster클러스터 IAM 역할EKSClusterRoleKubernetes 버전1.312단계 - 네트워킹 지정VPCvec-prd-vpc서브넷PUB-2A와 PUB-2C보안 그룹PUB-SG-2A와 PUB-SG-2C4단계 - 추가 기능 선택☑️ Amazon VPC CNI☑️ kube-proxy☑️ CoreDNS☑️ Amazon EKS Pod Identity 에이전트👇🏻 IAM 역할 추가 (EKSClusterRole)더보기클러스터 생성하는 부분에서 "IAM 콘솔에서 역할 생성" 입력 구분입력 내용1단계 - 신뢰할 수 있는 엔터티 선택신뢰할 수 있는 엔터티 유형AW..
📎 EKS 구성도주황색 선: Deploment로 생성된 pod는 HPA(Horizontal Pod Autoscaler)에 의해 리소스 사용량에 따라 auto scaling 되는 것을 표현파란색 선: ALB(AWS에서 제공하는 로드 밸런서 유형 중 하나)를 통해 타겟 그룹에 속한 EC2 인스턴스에 트래픽이 분산, auto scaling 그룹은 부하에 따라 인스턴스를 동적으로 조정하는 것을 표현📎 실행 과정1) 사용자 생성 및 액세스 키 생성2) 2a 인스턴스 접속3) eksctl / kubectl 설치4) AWS CLI 사용할 때 필요한 인증 정보 및 기본 설정 구성5) Docker 설치6) dockerfile 과 index.html 파일 생성7) image build & docker run8) 도커 ..
📎 실행 과정1) ALB 생성2) ALB 보안그룹 생성 ← 2A, 2C 등록3) (인스턴스 차원)Auto scaler ← ALB: 2A 인스턴스, 2C 인스턴스 min:1 / max:2 / CPU: 50%→30%(인스턴스 개수가 하나 사라짐)4) 2A(관리 서버) → 접속 → EKS 설치5) HPA → 파드(pod)6) SVC(Load Balancer) → aws: ALB생성(k8s에서의 metalLB 역할) 📌 이미지(AMI) 생성AMI는 특정 상태를 캡쳐한 이미지이다.예를 들어, 어떤 인스턴스(2a 인스턴스)에 OS, 애플리케이션, 설정 파일 등이 포함된 환경을 구성하고, 해당 상태를 이미지로 저장해둔 것이다. EC2 > 인스턴스 > VEC-PRD-HTTPD-PUB-2A 인스턴스 선택 > 작업 >..
사전에 먼저 도메인을 사 놓아야 합니다~!📌 호스팅 영역 생성 및 네임서버 설정 ✔️ aws 페이지호스팅 영역은 주로 DNS(Domain Name Server) 관리를 위한 설정이다.도메인 이름에 내가 구매한 도메인 주소 입력하기 👇🏻 생성된 것 확인더보기 ✔️ 가비아 페이지호스팅 영역을 생성한 후 나온 값(라우팅 대상)을 1차~4차에 입력** 맨 뒤의 .(점)은 빼고 입력하기 ** 👇🏻 생성된 것 확인더보기 📌 ACM(AWS Certificate Manager) - 인증서 요청 및 레코드 생성 ✔️ 인증서 요청인증서 요청 버튼 누르고 "다음" - 기본 도메인 주소와 *.도메인 주소 -> 두 개를 입력 👇🏻 생성된 것 확인더보기 ✔️ 레코드 생성Route 53 > 호스팅 영역 > 생성하..
💡 인그레스(Ingress)클러스터 외부에서 내부 서비스로 접근하는 HTTP, HTTPS 요청들을 어떻게 처리할지 정의해둔 규칙들의 모음부하 분산, SSL 인증서 처리, 도메인 기반으로 가상 호스팅을 제공(인그레스 개념은 쿠버네티스 API를 통해 정의한 규칙에 기반하여 트래픽을 다른 백엔드에 매핑할 수 있게 해 준다.)이러한 규칙들을 실제로 동작하게 해 주는 것은 인그레스 컨트롤러(Ingress-Controller)이다.1) 클라우드 서비스 사용 - 자사의 로드밸런서 서비스들과 연동하여 Ingress 사용 가능2) 클러스터 구축하여 사용 - Ingress Controller를 직접 Ingress와 연동시켜줘야 함 ✔️ ingress controller 설치(NGINX Ingress Controller ..
📌 replicaSet 수정 ✔️ yaml 파일을 통한 rc 생성[root@k8smaster 03]# cd ~/lab/04[root@k8smaster 04]# lsbatch-job guestbook-replicaset-matchexpressions.yaml ssd-monitorbatch-job.yaml guestbook-replicaset.yaml ssd-monitor-daemonset.yamlcronjob.yaml multi-completion-batch-job.yamlguestbook-rc.yaml multi-completion-parallel-batch-job.yaml[root@k8smaster 04]# kubectl creat..
미션 1.p.32의 deployment를 통한 배포 -> 파드들의 정보 확인 -> rs 정보 확인 -> deployment 상세정보 확인delete: (세션 창 하나 더 열고) watch 명령으로 pod 변화 감시1) pod 삭제 시도 -> 세션 창 정보 확인2) rs 삭제 시도 -> 세션 창 정보 확인3) deployment 삭제 시도 -> 세션 창에서 정보 확인[root@k8smaster ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED PLATFORM SIZE BLOB SIZEubuntu 24.04 dfc10878be8d 2 days ag..
📌 Label💡 label: 각 아이템마다 붙여진 속성, 한 객체당 원하는 만큼의 label을 붙일 수 있다.✔️pod 설정 yaml 파일apiVersion: v1kind: Podmetadata: name: simple-webapp labels: key1: value1 key2: value2 # label은 원하는 만큼 작성 가능spec: containers: - name: [컨테이너이름지정] image: [이미지] ports: - containerPort: 8080 ✔️ yaml 파일을 통한 label 속성 설정[root@k8smaster ~]# cd lab[root@k8smaster lab]# cd 03[root@..
📌 도커 이미지 생성✔️ 실습 파일 다운로드 및 압축 해제$ wget http://jadecross.iptime.org:7778/k8s/lab/lab_k8s_2024.tar.gz$ tar xfz lab_k8s_2024.tar.gz ✔️ 실습 파일 index.html 수정$ cd ~/workspace/guestbook/src/main/resources/templates/$ sed -i 's/방명록 v1/방명록 v1(이지향)/g' index.html ✔️ Maven 프로젝트 빌드 및 패키징$ cd ~/workspace/guestbook$ mvn clean package$ docker build -t zyange/k8s_guestbook:1.0 . ✔️ 도커 로그인 후 이미지 push$ docker logi..