no image
89일차) 2025-05-08(svelte - front/back-fastapi, CI)
EKS 클러스터 구성eksctl create cluster --vpc-private-subnets subnet-033d8f789eee8880d,subnet-0ca72dc02ff537a25 --name pric --region ap-northeast-2 --version 1.32 --nodegroup-name mycng --node-type t3.small --nodes 1 --nodes-min 1 --nodes-max 3 --node-private-networkingLB controller 설치export CLUSTER_NAME=pricexport ACCOUNT_ID=651109015678export VPC_ID=vpc-0a4d6d7b49d1ecafcexport REGION=ap-northeast-2ek..
2025.05.08
no image
88일차) 2025-05-07(EKS 동적 프로비저닝, EFS, 시크릿 CSI 드라이버, ASCP, ArgoCD)
pric라는 이름으로 EKS 클러스터 생성eksctl create cluster --vpc-private-subnets subnet-033d8f789eee8880d,subnet-0ca72dc02ff537a25 --name pric --region ap-northeast-2 --version 1.32 --nodegroup-name mycng --node-type t3.small --nodes 1 --nodes-min 1 --nodes-max 3 --node-private-networkingEBS(Block storage) - 하드웨어(디스크)단일 인스턴스에 attach해야함. 파일 시스템이 구성이 안되어있다.(attach된)특정노드에 존재하는 pod만 접근 가능EFS(File) - NFS다수의 인스턴스에서..
2025.05.07
no image
87일차) 2025-05-02(3 tier eks cluster)
시험)1. EKS 프라이빗 클러스터를 구축하세요2-1. nginx/톰캣/MySQL로 WAS-DB 2 tier나 WEB-WAS-DB 3 tier를 구성, 브라우저에서 www./exam 으로 접속했을때 DB연동을 확인하는 페이지가 뜨도록 하세요.2-2. www./h 로 접속했을때 hostname을 출력하는 페이지가 뜨도록하세요.2-3. www./ip 로 접속했을때 ip를 출력하는 페이지가 뜨도록하세요.RDS의 포트는 33306으로 하세요.EKS클러스터가 접근하는 컨테이너 레지스트리는 무조건 ECR을 사용하세요.단, 베이스이미지는 61.254.18.30:5000/ipnginx, 61.254.18.30:5000/hnginx 나 oolralra/ipnginx, oolralra/hnginx를 사용하세요. 톰캣은 아..
2025.05.02
no image
80일차) 2025-04-23(헬름 - 프로메테우스, 헬름 차트)
https://artifacthub.io/실습)릴리스를 통해 그라파나 - 프로메테우스를 구성하고 그라파나 대시보드에 접속해서 잘 되는지 확인 pro라는 별칭으로 레포 추가 root@master:~# helm repo add pro https://prometheus-community.github.io/helm-chartsroot@master:~# helm search repo stackroot@master:~# helm install pro pro/kube-prometheus-stackroot@master:~# kubectl get pod -o wide Grafana 접속을 위한 포트포워딩root@master:~# export POD_NAME=$(kubectl get pod -l "app.kubernete..
2025.04.23
no image
79일차) 2025-04-22(쿠버네티스 스케줄링 정책 - Node Selector, Affinity, taints & tolerations, 헬름 - nginx, apache, wp/db)
Node Selector노드에 key:value 형태의 label을 붙여놓고 파드를 띄울때 특정 라벨값을 충족하는 노드를 선택하는 기능라벨링 임의 지정root@master:~# kubectl label node worker-1 gpu=falseroot@master:~# kubectl label node worker-2 gpu=true라벨링 확인kubectl get nodes --show-labelsroot@master:~/mani# mkdir selectorroot@master:~/mani# cd /selectorroot@master:~/man/selectori# vi selector.yml apiVersion: apps/v1kind: Deploymentmetadata: name: my-depspec:..
2025.04.22
no image
77일차) 2025-04-18(HPA, 헬스체크, HAProxy)
HPA(Horizontal Pod Autoscaler)# 간단하게 쓰고싶다면 스케일업이 유리, 보통은 스케일아웃 가장 많이 사용기존 상위 리소스까지 전부 삭제kubectl delete deploy,rs,pod,svc --allroot@master:~# cd mani/ root@master:~/mani# mkdir hparoot@master:~/mani# cd hpa/ 리소스를 제한할 파드 매니페스트vi res.ymlapiVersion: v1kind: Podmetadata: name: live-pod labels: app: live-nginxspec: containers: - name: nginx image: nginx:latest resources: requests: ..
2025.04.18
no image
76일차) 2025-04-17(컨테이너의 헬스체크-readinessProbe, 리소스-StatefulSet, DaemonSet)
컨테이너의 헬스체크livenessProbelivenessProbe가 실패시 컨테이너를 재시작, 컨테이너에 이상이 있다고 간주readinessProbe실패해도 정상동작하지만, 서비스에서 해당 파드로 트래픽을 인가하지 않음보통 livenessProbe보다 readinessProbe를 많이 사용기존 상위 리소스까지 전부 삭제kubectl delete deploy --allkubectl delete rs --allkubectl delete pod --allhttpGet을 통한 proberoot@master:~/mani# mkdir probe root@master:~/mani# cd probevi pod.ymlapiVersion: v1kind: Podmetadata: name: nginx-pod labels:..
2025.04.17
no image
75일차) 2025-04-16(RBAC, 3A, Dynamic Provisioner)
RBAC (Role Based Access Control, 역할기반접근제어)AAA인증(Authentication) - 내가 누구다(로그인, 사용자를 식별)인가(authorization) - 나는 이러이러한 행동을 할 수 있다어카운트(Accounting) - 계정 사용 기록k8s Role(AWS에서는 Policy와 비슷)을 생성 후 해당 Role을 SA(Service Account)한테 부여(RoleBinding)해줌Role - RoleBinding - SA, 3개의 리소스를 만들어야한다.AWSPolicy(정책)을 생성한 다음, 특정한 역할(Role)에 부여하여 해당 역할을 사용자나 리소스한테 부여K8s Role의 종류Role = 특정 네임스페이스에 대한 권한.RoleBinding = Role를 SA와 묶..
2025.04.16
no image
74일차) 2025-04-15(쿠버네티스 - pv, StorageClass, ConfigMap, Secret, wp/mysql/3tier)
PV(Persistent Volume)영구적인 볼륨, 물리적인 자원도커에서 -v 같은 옵션을 통해 컨테이너의 데이터를 영구적으로 호스트에 백업함, 왜냐하면 컨테이너가 삭제되면 내부의 데이터는 사라지기 때문, 컨테이너의 데이터는 영구적이지 않음 PV로 사용할 공간을 NFS로 미리 정의 해놓자 !master 노드에 NFS-server를 설치하고, worker 노드들을 NFS-client로 구성마스터에 nfs-server 설치root@master:~# apt-get install -y nfs-kernel-server root@master:~# mkdir /sharedroot@master:~# chmod 777 -R /sharedroot@master:~# vi /etc/exports/shared *(rw,syn..
2025.04.15