반응형

쿠버네티스 22

[CKA] 특정 노드에 파드가 할당 되는 것을 제어하는 taint , toleration

쿠버네티스(Kubernetes)에서 taint는 노드에 적용되어 해당 노드에 파드가 스케줄될 수 있는지 여부를 결정하는 메커니즘입니다. taint를 사용하면 특정 노드에 파드가 할당되는 것을 제어할 수 있으며, 이는 노드에 '오염'을 추가하는 것과 유사합니다. 파드가 특정 노드에 스케줄되기 위해서는 그 노드의 taint에 맞는 'toleration'을 가지고 있어야 합니다. Taint와 Toleration Taint: 노드에 적용되어, 특정 조건을 만족하지 않는 파드의 스케줄링을 방지합니다. Toleration: 파드에 적용되어, 특정 taint를 용인할 수 있음을 나타냅니다. toleration을 가진 파드는 해당 taint가 있는 노드에 스케줄될 수 있습니다. Taint의 구성 요소 Key: tain..

[CKA] 무조건 나온다는 문제! Drain, Cordon, Uncordon

CKA를 공부를 하고 있는데 Administer a Cluster 카테고리에서 무조건 나오는 유형중에 4가지를 꼭 알아야할 것 같아서 정리하려고합니다. 자 일단은 위의 명령어들의 기본적인 뜻을 알고 있으면 이해하기 쉽겠죠? 간단하게 단어의 뜻정도만 기억하고 있으면 공부하기 더 쉬우니까 공유해드릴게요. drain : 물[액체]을[이] 빼내다[빠지다] cordon : (경찰·군인 등이 설치한 진입이나 진출) 저지선[비상경계선] uncordon taint: (평판 등을) 더럽히다, 오염시키다, 오점[오명]을 남기다 자, 이제 본격적으로 쿠버네티스에서 4가지 명령어로 어떻게 사용해야하는지에 대해서 말씀드리겠습니다. 쿠버네티스(Kubernetes)에서 drain, cordon, 그리고 uncordon은 노드를 관..

[CKA] deployment 롤백/ 롤아웃 명령어 정리

1. deployment 생성시 > kubetctl create -f xxxx.yaml 2.deployment 조회할때 > kubectl get deployments -o wide 3. 버전을 업데이트하고 적용할때 > vi xxx.yaml 들어가서 이미지 수정하고 > kubectl apply -f xxx.yaml > kubectl set image deployment/app-deplotment nginx=nginx:1.20.0 4. 롤아웃이 제대로 되었는지 확인하고자 할때 > kubectl rollout status deployment/app-deployment 5. 롤라웃의 히스토리를 보고싶을때 > kubectl rollout history deploy

카테고리 없음 2023.11.25

[쿠버네티스] PVC, 스토리지클래스, 동적프로비저닝

쿠버네티스(Kubernetes)에서의 스토리지 클래스(Storage Class)는 다양한 유형의 스토리지를 정의하고 관리하는 방법을 제공합니다. 스토리지 클래스는 쿠버네티스 클러스터 내에서 사용할 수 있는 스토리지 유형을 정의하며, 이를 통해 동적인 볼륨 프로비저닝을 가능하게 합니다. 스토리지 클래스의 주요 기능과 특징은 다음과 같습니다: 동적 프로비저닝: 스토리지 클래스를 사용하면, 사용자는 필요에 따라 실시간으로 스토리지 볼륨을 생성할 수 있습니다. 이는 Persistent Volume Claim(PVC) 요청에 의해 자동으로 발생합니다. 이 방식은 미리 정의된 스토리지 볼륨을 관리하는 것보다 유연하고 효율적입니다. 스토리지 유형 정의: 각 스토리지 클래스는 특정 스토리지 유형(예: SSD, HDD,..

[쿠버네티스] PV, PVC (Persistent Volumes / Persistent Volumes Claim) 정리

쿠버네티스(Kubernetes)에서의 PV(Persistent Volume)와 PVC(Persistent Volume Claim)는 데이터 저장과 관련된 중요한 개념입니다. 컨테이너 환경에서 데이터 저장소는 매우 중요한 개념입니다. 컨테이너 자체는 일반적으로 불변(immutable)하고 상태 비저장(stateless)의 특성을 가지고 있습니다. 이는 컨테이너가 삭제되거나 재시작될 때 내부 데이터가 소실될 수 있음을 의미합니다. 그렇기 때문에 쿠버네티스에서도 PV (Persistent Volume)와 PVC (Persistent Volume Claim) 개념을 이용하여 영구적인 데이터 저장 옵션을 설정하셔야합니다. PV (Persistent Volume): PV는 클러스터 내에서 사용자가 사용할 수 있는 ..

쿠버네티스 기본 네트워크 개념 ( Pod 통신 )

쿠버네티스는 기본적으로 네트워크 개념은 다음 2가지를 기본으로 합니다. 1. Pod는 NAT 없이 다른 노드 의 다른 모든 Pod와 통신할 수 있습니다. 2. 노드의 에이전트(예: 시스템 데몬, kubelet)는 해당 노드의 모든 Pod와 통신할 수 있습니다. 3. Pod 내의 컨테이너는 네트워킹을 사용하여 루프백을 통해 통신합니다 . 현재 노드에는 아래와 같이 deployment 오브젝트가 배포되어 있습니다. 이러한 Pod들이 서로 다른 노드에 배포되어있지만 통신이 가능하다는 것을 보여드리겠습니다. 현재 해당 pod들은 nginx 이미지를 이용하여 배포된 상황이고 해당 내용에는 통신이 되는지 체크하기 위함이니 해당 pod에 접속해서 다른 pod들과 통신이 가능한지 확인해보겠습니다. 서로 다른 노드에 배..

도대체 쿠버네티스가 무엇인가? 도커와 쿠버네티스 구분하자

쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링, 관리하는 오픈 소스 플랫폼입니다. 쿠버네티스는 클라우드 환경이나 온프레미스 환경에서 컨테이너 오케스트레이션(Orchestration)을 수행하여 애플리케이션의 운영을 단순화하고 확장성을 제공합니다. 컨테이너는 애플리케이션과 그에 필요한 모든 종속성을 격리된 환경에 패키징하는 기술입니다. 쿠버네티스는 이러한 컨테이너를 여러 대의 호스트에 분산하여 실행하고 관리합니다. 쿠버네티스는 클러스터(Cluster)라는 여러 대의 물리적 또는 가상화된 머신을 하나의 시스템으로 관리하며, 컨테이너화된 애플리케이션을 클러스터 내에서 스케줄링하고 조정합니다. 도커 쿠버네티스 컨테이너화 기술을 구현한 플랫폼 컨테이너를 관리하고 오케스트레이..

[CKA] label, selector 를 활용하는 방법

라벨이 붙어있는 오브젝트들을 selector를 이용해서 가지고 올 수 있습니다. 아래와 같은 명령어로 라벨을 이용해서 분류해서 사용할 수 있는 것이죠 kubectl get pods --selector key=value kubectl get all --selector key=value kubectl get pods --selector --no-headers | wc -l #파드 갯수를 알려주는 명령어 kubectl get pods --selector key=value --no-headers | wc -l #파드 갯수를 알려주는 명령어

반응형