AWS와 Terraform의 관계 vs Kubernetes와 Helm의 관계
·
🔹 DevOps
✅ 비교: AWS & Terraform vs. Kubernetes & Helm비교 항목AWS ↔ TerraformKubernetes ↔ Helm주 역할클라우드 인프라 제공컨테이너 오케스트레이션설정 방식AWS 콘솔, CLI, SDK 사용kubectl, YAML 설정자동화 도구Terraform으로 인프라 코드 관리Helm으로 애플리케이션 배포템플릿 관리Terraform .tf 파일Helm Chart (YAML 템플릿)버전 관리Terraform State 관리Helm Chart 버전 관리✅ 공통점Infrastructure as Code (IaC)Terraform은 AWS 인프라를 코드로 관리Helm은 쿠버네티스 애플리케이션을 코드로 관리버전 및 상태 관리Terraform은 state 파일을 활용해 인프라 상태..
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..
Rook-Ceph Kubernetes 클러스터 구축 및 데이터 저장 방법
·
🔹Storage
작성중! 미완✅ 클러스터 구성Master 노드1대Kubernetes Control Plane (CephFS 마운트)Worker 노드3대Pod 실행Storage 노드3대 Rook-Ceph 배포 (MON, OSD, MGR, MDS 실행) Network 노드3대네트워크 트래픽 관리 및 Ingress, LoadBalancer 역할 📌 목표:Storage 3대에 Rook-Ceph를 배포하여 Ceph 클러스터 구성Master 노드는 CephFS를 직접 마운트하여 사용PersistentVolume(PV), PersistentVolumeClaim(PVC), StorageClass 구성📌 전제조건:storage server ceph cluster 완료🔁 1. Rook-Ceph 설치 및 Ceph 클러스터 구성✅ 1...
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 기본 리소스라 추가 컨트롤러 설치 불필요.사용 주요 리소스..
Service 정의
·
🔹Kubernetes
Service는 클러스터 내의 Pod들 간의 네트워크 접근을 가능하게 하는 추상화된 방법입니다.Service는 로드 밸런싱을 제공하며, 클러스터 외부로 트래픽을 노출할 수 있습니다.특징:추상화된 접근: IP 주소와 포트를 통해 Pod에 접근할 수 있습니다.로드 밸런싱: 여러 Pod에 대한 로드 밸런싱을 제공합니다.서비스 디스커버리: DNS를 통해 서비스 이름으로 접근할 수 있습니다.Service API 분석spec → clusterIPLoad Balancer 서비스 지원spec → selectorapp: webui 라는 label 설정spec → portsport → clusterIP 의 porttargetPort → pod 들의 port                 ClusterIP 로 접속한 뒤, r..
kubectl 명령어 분석 (매개변수)
·
🔹Kubernetes
Kubernetes에서 kubectl 명령어는 다양한 첫 번째 매개변수와 두 번째 매개변수를 지원합니다. 각각에 대해 자세히 설명하겠습니다. 1. 첫 번째 매개변수 (액션)kubectl 명령어에서 첫 번째 매개변수는 실행할 액션을 나타냅니다. get과 create 외에도 다음과 같은 액션들이 있습니다get-o wide 를 붙여 자세히 보기create-f {filename}, -n {namespace}namespace 옵션 설정하지 않을 경우, ‘default’ namespace 에 생성된다kubectl create -f nginx.yaml -n my-namespaceapply: 파일이나 디렉토리에서 리소스를 적용합니다.delete: 하나 이상의 리소스를 삭제합니다.describe: 특정 리소스의 세부 정..
[Install] Kubernetes v1.28 - CRI-O (CentOS7)
·
🔹Install
아래 내용대로 진행 시, K8S 정상 설치 가능docker 완전 삭제 및 containerd 설치 및 설정 / k8s 1.28 설치echo "[1] Docker 중지 및 제거"sudo systemctl stop docker || truesudo systemctl disable docker || truesudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine || trueecho "[2] 남아있는 Docker 관련 데이터 정리"sudo rm -rf /var/lib/dockersudo rm -rf /etc/do..