Argo CD + K8S(Kind) Repo(ops-deploy) 에 nginx helm chart 를 Argo CD를 통한 배포 2 : ArgoCD Declarative SetupArgoCD Finalizers리소스 정리 보장: 애플리케이션 삭제 시 관련 리소스가 남지 않도록 보장합니다. 이는 GitOps 워크플로우에서 선언적 상태를 유지하는 데 중요합니다.의도치 않은 삭제 방지: finalizer가 없으면 실수로 Argo App을 삭제해도 K8S 리소스가 남아 혼란이 생길 수 있습니다. finalizer는 이를 방지합니다.App of Apps 패턴 지원: 여러 애플리케이션을 계층적으로 관리할 때, 상위 애플리케이션 삭제 시 하위 리소스까지 정리되도록 합니다.dev-nginx App 생성 및 Auto ..
Argo CD ArgoCD는 쿠버네티스를 위한 CD(Continuous Delivery)도구로GitOps방식으로 관리되는 Mainfest(yaml)파일의 변경사항을 감시하여, 현재 배포되어 있는 환경의 상태와 / Git Manifest파일에 정의된 상태를 동일하게 유지 하는 역학을 수행 ArgoCD 구성요소 API Server: Web UI, API 서버Repository Server: Git 연결 및 배포할 yaml 생성Application Controller: k8s 리소스 모니터링, Git 비교 redis: k8s와 git요청을 줄이기 위한 캐싱Notification: 이벤트 알림, 트리거Dex: 외부 인증 관리ApplicationSet Controller: 멀티 클러스터를 위한 App 패키징 관..
Jenkins CI/CD + K8S(Kind)Jenkins 컨테이너 내부에 kubectl, helm 설치# Install kubectl, helmdocker compose exec --privileged -u root jenkins bash--------------------------------------------#curl -LO "https://dl.k8s.io/release/v1.32.2/bin/linux/amd64/kubectl" curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl" # macOScurl -LO "https://dl.k8s.io/re..
실습환경 구성jenkins, gogs 설치(Docker Container)# 작업 디렉토리 생성 후 이동mkdir cicd-labscd cicd-labs# cicd-labs 작업 디렉토리 IDE(VSCODE 등)로 열어두기# kind 설치를 먼저 진행하여 docker network(kind) 생성 후 아래 Jenkins,gogs 생성 할 것# docker network 확인 : kind 를 사용docker network ls...7e8925d46acb kind bridge local...# cat docker-compose.yamlservices: jenkins: container_name: jenkins image: jenkins/jenkins restart: un..
Auto mode란 EKS Cluster 운영 시, 필수적으로 설치 및 구성하는 요소에 대해서 AWS가 관리 운영해주는 방식karpenter, EKS Pod Identity, kube-proxy, CNI, Amazone EBS CSI Driver, AWS Load Balancer Contorller Auto mode 주요 특징Auto mode : 6가지 구성요소가 파드로 구성되는게 아니고, 해당 노드에 systemd 데몬(agent)로 실행 노드의 expire기간: 기본 14일 / 최대 21일 karpenter를 사용하여 노드 관리 제약사항노드에 대해 불변으로 취급되는 AMI를 사용합니다. 이러한 AMI는 잠금 소프트웨어를 강제하고 SELinux 필수 액세스 제어를 활성화하며 읽기 전용 루트 파일..
Fargate란EKS(컨트롤 플레인) + Fargate(데이터 플레인)의 완전한 서버리스화(=AWS 관리형) Fargate 특징관리해야 하는 EC2 인스턴스가 존재하지 않음(Serverless)관리 복잡도가 잘어듦Cluster Autoscaler를 사용할 필요 없음비용 청구 단위가 Pod의 실행 시간Pod를 사용해도 VM 수준의 격리 가능(Firecracker) 보안: 여러 수준의 격리와 보호를 사용하며, 공격 노출 영역을 최소화 고성능 : 125밀리초 안에 microVM을 시작 낮은 오버헤드: Firecracker는 microVM당 약 5MiB의 메모리를 사용동일한 인스턴스에서 다양한 vCPU 및 메모리 구성 사양을 갖춘 안전한 수천 개의 VM을 실행microVM 1개 당 Pod하나 → Node의 ..