1. 프로젝트 flow코드 빌드 및 컨테이너화: 코드가 업데이트되면 파이프라인 작업을 실행 시킵니다.이미지 업로드: 파이프라인 도구를 사용하여 소스 코드를 컨테이너화된 애플리케이션으로 변환합니다. 생성된 컨테이너 이미지는 카카오클라우드 Container Registry에 푸시됩니다.매니페스트 업데이트: 업로드된 컨테이너 이미지에 대한 정보가 배포 매니페스트를 관리하는 깃 저장소에 업데이트됩니다. 이 단계는 새 이미지 세부 정보를 배포 구성에 통합합니다.코드 업데이트 감지: ArgoCD는 배포 매니페스트를 포함하는 깃 저장소의 변경 사항을 모니터링합니다.ArgoCD를 이용한 배포 자동화: 업데이트가 감지되면 ArgoCD가 이러한 변경 사항을 인프라에 자동으로 적용하여 수동 개입 없이 최신 애플리케이션 버전..
1. 프로젝트 flowstep 1) K8SE 클러스터 생성step 2) 노드 풀 생성step 3) 파일스토리지 생성 및 NFS Client Provisioner 설정step 4) CR에 이미지 저장하고, 저장된 이미지로 웹 서비스 띄우기 CR - KC 서비스 / 각 파드별 볼륨 마운트는 hostpath가 아닌 nfs로 생성한 pvcstep 5) CR에 저장된 이미지로 pod 띄우기step 6) HPA설정으로 위에 생성된 pod를 최소 1개, 최대 3개로 HPA 구성 설정 후 부하를 발생시켜서 자동 확장, 축소가 제대로 되는지 체크2. K8SE 클러스터 및 노드풀 생성1. 클러스터 생성 아래 링크를 참조하여 클러스터를 생성한다.쿠버네티스 버전 : 1.29 / CN..
1. 마스터 노드 구성도커 설치 아래 링크 참고(v2로 설치)https://jumpkimg.tistory.com/64 쿠버네티스 마스터 노드 구성 아래 링크 참고https://jumpkimg.tistory.com/81 2. 워커 노드 구성1. SELinux, swap, 방화벽# SELinux permissive로sudo setenforce 0sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config# Swap 끄기sudo swapoff -asudo sed -i '/swap/d' /etc/fstab# 방화벽 비활성화 (클러스터 통신 위해)sudo systemctl stop firewalldsudo systemctl disabl..
1. 혼동되는 용어 정리(파드, 컨테이너, 어플리케이션)컨테이너는 mysql, nginx 등의 서비스를 생성할때 가장 작은 단위로 생성되는 자원파드는 볼륨을 기준으로 생성된 컨테이너의 묶음쿠버네티스에서 애플리케이션이란, nginx, mysql 등과 같이 파드, 컨테이너와 달리 기능적인 단위를 표현하는 것.피드나 컨테이너는 묶여서 애플리케이션이 될 수 있으며, 단일 구성이라도 구성만 잘 한다면 애플리케이션이 될 수 있음. 2. 자주 쓰이는 kubectl 옵션 명령어(get, run, create, apply, delete, exec, scale, edit) 복습전체 옵션 명령어의 예시는 다음과 같음# get - 오브젝트 조회kubectl get (오브젝트 타입) # 오브젝트의 기본적인 조회 형태 # ru..
✅ emptyDirPod 내부에서 컨테이너끼리 데이터를 공유할 때 사용하는 임시 볼륨.Pod이 삭제되면 데이터도 함께 삭제됨.주로 임시 데이터 저장소로 활용됨.📌 어떤 상황에서 많이 사용될까?여러 컨테이너가 같은 데이터를 공유해야 하는 경우예를 들어, A 컨테이너가 데이터를 생성하고, B 컨테이너가 이를 가공할 때 유용함.emptyDir을 마운트하면 두 컨테이너가 같은 파일을 실시간으로 공유할 수 있음.임시 캐시 또는 버퍼 저장소 역할애플리케이션에서 **일시적인 파일(로그, 캐시, 프로세스 간 공유 데이터 등)**을 저장하는 용도로 활용됨.예를 들어, 웹 서버 컨테이너가 요청을 처리하는 동안 데이터를 캐싱할 공간이 필요할 때.데이터 프로세싱 단계에서 활용컨테이너 내에서 데이터 처리가 필요하지만, 처리 ..
1. Bastion 호스트 설정Load Balancer와 MySQL을 사용한 Virtual Machine 기반의 웹 애플리케이션를 배포합니다. 이를 위해 외부에서 접근할 수 있는 Bastion 호스트를 설정합니다.1. 카카오클라우드 콘솔 > Beyond Compute Service > Virtual Machine에서 아래 표의 Bastion 인스턴스를 생성합니다.인스턴스 이름handson-bastion개수1인스턴스 유형m2a.large이미지Ubuntu 20.04볼륨 크기10서브넷public퍼블릭 IP연결 2. Beyond Networking Service > VPC 메뉴에서 보안을 선택합니다. 외부에서 Bastion 인스턴스에 접속할 수 있도록 보안 그룹과 인바운드 규칙을 설정합니다.인바운드 규칙프로토..