Argo CD / Argo Rollouts / Argo Workflows UI 가이드
·
🔹Kubernetes
배포로 테스트 하던 도중 (Rollout 시) CLI 로 보기 싫다면 Argo 생태계 구성하고, 각 컴포넌트의 UI 에 접속하여 시각적으로 배포 및 파이프라인 관리를 들어간다 🧭 Argo 프로젝트 구성 요약 컴포넌트 설명UI 지원기본 포트Argo CDGitOps 기반 Kubernetes 배포 자동화✅ 있음8080Argo RolloutsCanary / Blue-Green 등 단계적 배포 전략 도구✅ 있음3100Argo WorkflowsDAG 기반 배치/ML 워크플로우 실행 엔진✅ 있음2746🟦 Argo CD UI 접속 가이드1. 설치kubectl create namespace argocdkubectl apply -n argocd -f https://raw.githubusercontent.com/arg..
[Rocky Linux 8.10] Harbor v2.10.3 설치 및 구축 가이드
·
🔹Kubernetes
✅ 사전 준비 사항OSRocky Linux 8.10 (x86_64)Dockerdocker-ce / docker compose pluginHarbor 버전v2.10.3 (offline installer 사용)접근 Domainharbor.local:5000네트워크폐쇄망 환경 (인터넷 미연결)1. Docker & Compose 설치# Docker Engine 설치sudo dnf install -y yum-utils device-mapper-persistent-data lvm2sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo dnf install -y docker-ce docker-ce-cli..
Kubernetes v1.30.0 폐쇄망 설치 가이드 (Harbor Registry 연동)
·
🔹Kubernetes
구성 요소 및 버전 (2025년 기준)구성 요소VersionOSRocky Linux 8.10Kubernetesv1.30.0containerdv1.7.13crictlv1.30.0runcv1.1.12CNI 플러그인flannel v0.24.2내부 RegistryHarbor v2.10.3 (포트 5000)✅ 환경 개요개방망 환경: 인터넷 연결 가능, 설치 파일 및 이미지 수집폐쇄망 환경: 인터넷 연결 불가, Harbor를 통한 내부 이미지 관리구성: master 1대 + worker 3대 클러스터전제조건: Harbor 설정 완료 (https://sungbin-park.tistory.com/154) / port 5000 설정 0. 설치 환경 변수 등록cat /etc/profile.d/k8s-env.shexpor..
쿠버네티스 워크로드 선택 기준
·
🔹Kubernetes
쿠버네티스 워크로드 선택 기준 사용 목적 추천 워크로드단순한 컨테이너 실행Pod웹 서비스, API 서버 배포Deployment데이터베이스, 상태 유지 서비스StatefulSet모든 노드에서 실행해야 하는 모니터링/보안 에이전트DaemonSet한 번 실행 후 종료되는 작업Job주기적으로 실행되는 작업CronJob 📌 각 워크로드 예제1️⃣ Pod 예제 (단순 컨테이너 실행)apiVersion: v1kind: Podmetadata: name: my-podspec: containers: - name: my-container image: nginx단순한 컨테이너 실행에 사용되며, 직접 사용보다는 컨트롤러(Deployment 등)에서 관리하는 것이 일반적임.2️⃣ Deployment 예제 (무중단 배..
taint와 toleration을 사용하는 이유
·
🔹Kubernetes
쿠버네티스의 API Server + Scheduler는 일반적으로 모든 Worker Node에 적절하게 Pod를 배분하지만,어떤 경우에는 특정 노드에만 Pod를 배포해야 하거나, 특정 노드를 피해야 하는 경우가 있다.이때 Taint(오염) 와 Toleration(허용) 을 사용하여 스케줄링을 더 세밀하게 조정한다.📌 taint와 toleration이 필요한 이유1️⃣ 특정 노드에서만 특정 Pod를 실행하고 싶을 때예: GPU가 있는 노드에서만 AI/ML 관련 Pod를 실행하고 싶음.✅ 해결책: GPU 노드에 taint를 추가하고, GPU가 필요한 Pod만 toleration을 설정하여 해당 노드에서 실행되도록 함. kubectl taint nodes gpu-node gpu=true:NoSchedule위..
Kubernetes 워크로드 리소스들의 특징 및 종속성
·
🔹Kubernetes
📌 Kubernetes 워크로드 리소스들의 특징 및 종속성✅ 1. Kubernetes 워크로드 리소스 특징 표리서스 종류역할주요 특징종속성Pod컨테이너 실행 단위하나 이상의 컨테이너를 포함, 기본 실행 단위없음 (최소 실행 단위)ReplicaSet특정 개수의 Pod 유지Pod 개수를 자동 조정Pod에 종속됨Deployment애플리케이션 배포 및 업데이트 관리롤링 업데이트, 롤백 지원ReplicaSet과 Pod에 종속됨StatefulSet상태 유지가 필요한 애플리케이션 배포Pod 간 고유한 ID 유지, 순차적 배포Pod에 종속됨DaemonSet모든 노드에서 동일한 Pod 실행로그 수집, 모니터링 에이전트 실행Pod에 종속됨Job1회성 작업 실행작업 완료 후 종료됨Pod에 종속됨CronJob일정에 따라 J..
kubernetes Service vs Ingress 비교
·
🔹Kubernetes
✅ kubectl get ingress와 kubectl get service의 차이점 정리 항목ingressSevice역할클러스터 외부 트래픽(HTTP/HTTPS)을 여러 서비스로 라우팅.클러스터 내부에서 특정 Pod들에 트래픽을 전달하는 네트워크 리소스.트래픽 처리클러스터 외부에서 들어오는 HTTP/HTTPS 요청을 처리.클러스터 내부의 Pod(애플리케이션) 간 통신을 처리.외부 접속도메인(예: example.com)이나 경로(예: /api) 기반으로 외부 접속.External IP, NodePort 등을 통해 클러스터 외부에 노출 가능.설치 필요 여부Ingress Controller 필요 (예: NGINX, Traefik).Kubernetes 기본 리소스라 추가 컨트롤러 설치 불필요.사용 주요 리소스..
MetalLB 설치 (Bare Metal 환경에서 LoadBalancer 사용 가능하게 설정) 및 External IP 설정
·
🔹Kubernetes
MetalLB는 Bare Metal 환경에서 LoadBalancer 서비스를 사용할 수 있도록 도와줌.결과적으로 MetalLB를 통해 Kubernetes 서비스에 외부에서 접근 가능해짐 ✅ (1) MetalLB 설치kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/main/config/manifests/metallb-native.yaml✔ 설치 확인kubectl get nskubectl get pods -n metallb-system✔ 정상 출력NAME READY STATUS RESTARTS AGEcontroller-5b5b575d55-cdxg4 1/1 Running ..