본문 바로가기

k8s84

[K8S] PV 베하~! BTC_녹차공원 팀의 하동녹차 입니다. Kubernetes PV(Persistent Volume) 에 대해 알아보겠습니다! 쿠버네티스 PV(Persistent Volume) 쿠버네티스 PV(Persistent Volume)는 쿠버네티스에서 데이터를 저장하기 위한 공간을 나타내는 것입니다. 쉽게 말하면, 컴퓨터의 하드 드라이브와 유사합니다. PV를 설정하면 파드가 데이터를 저장하고 검색할 수 있게 됩니다. PV는 다양한 종류의 스토리지(로컬 디스크, 클라우드 스토리지 등)를 관리하며, 어떤 파드가 데이터에 접근할 수 있는지를 지정할 수 있습니다. 또한 필요할 때 스토리지를 동적으로 생성할 수 있습니다. 요약하면, 쿠버네티스 PV는 데이터 저장소를 효율적으로 관리하고 파드가 데이터에 접근할 수 있도.. 2023. 9. 15.
[K8s] Cluster upgrade 안녕하세요. 이쁜이와 멋쟁이의 BTC기범입니다. 오늘은 K8s의 클러스터를 업그레이드 하는 방법에 대해 이야기해 보겠습니다. 클러스터를 업그레이드 하기위해 다음 요소들의 업그레이드가 필요합니다. kubeadm kubelet kubectl 업그레이드를 진행해보도록 하겠습니다. 버전 확인 # 업그레이드를 하고자 하는 노드 서버에서 진행 # Debian 계열 apt update apt-cache madison kubeadm # Redhat 계열 yum list --showduplicates kubeadm --disableexcludes=kubernetes 해당 OS의 패키지 매니저를 최신화하고 저장되어있는 kubeadm의 버전을 확인합니다. kubeadm 업그레이드 # 업그레이드를 하고자 하는 노드 서버에서 .. 2023. 9. 14.
[K8S] Multi Container 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 Multi Container에 대해 알아보겠습니다! Multi Container 하나의 Pod 안에는 여러개의 Container가 들어있을 수 있습니다. 단, Pod 내의 Container 들이 서로 다른 종류일때만 가능합니다. Pod 내에 Container 들은 동일한 네트워크 공간을 공유하기 때문에 서로 간의 통신이 가능하고 저장 공간을 공유하는 것도 간단합니다. Multi Container에는 3가지 종류가 있습니다. Sidcar Pattern : Main Container의 기능 확장 또는 향상 ex) Log Saving Sidecar Ambassador : Main Container의 네트워크 기능 담당 ex) Proxy Container.. 2023. 9. 13.
[K8S] Taint 베하~! BTC_녹차공원 팀의 하동녹차 입니다. Kubernetes Taint 에 대해 알아보겠습니다! 쿠버네티스 테인트(Taint) 쿠버네티스(Kubernetes)에서 "Taint(테인트)"는 노드(Node)에 특정 조건을 부여하여 해당 노드에만 특정 유형의 파드(Pod)가 스케줄링되도록 하며 클러스터 내에서 리소스 및 워크로드를 효율적으로 관리하는 데 사용됩니다. Taint의 적용 효과로 "NoSchedule", "PreferNoSchedule", "NoExecute" 중 하나 입니다. "NoSchedule": 해당 Taint가 있는 노드에는 일치하는 파드가 스케줄링 "PreferNoSchedule": 일치하는 파드가 노드에 스케줄링되지 않는 것 "NoExecute": 이미 노드에서 실행 중인 파드에.. 2023. 9. 6.
[K8S] NodeSelector 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 NodeSelector에 대해 알아보겠습니다! NodeSelector 쿠버네티스에서는 특정한 노드(들) 집합에서만 동작하거나 특정한 노드 집합에서 동작하도록 파드를 제한할 수 있어요. 이를 수행하는 방법에는 여러 가지가 있는데 권장되는 방식은 모두 레이블 셀렉터를 사용해서 선택을 편리하게 해요. 보통은 스케줄러가 자동으로 배치를 효율적으로 하기때문에 이런 제약 조건을 설정할 필요가 없어요. 하지만, 예를 들어 SSD가 장착된 머신에 파드가 배포되도록 하거나 많은 통신을 하는 두 개의 서로 다른 서비스의 파드를 동일한 가용석 영역에 배치하는 경우와 같이, 다양한 상황에서 파드가 어느 노드에 배포될지를 제어해야 하는 경우가 있어요. nodeSelect.. 2023. 8. 29.
[K8S] Ingress 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 Ingress에 대해 알아보겠습니다! Ingress 일반적으로 네트워크에서는 Ingress와 Egress로 트래픽을 구분해요. Ingress는 외부에서 내부 서버로 들어오는 네트워크 트래픽을, Egress는 내부 서버에서 외부로 나가는 트래픽을 의미한답니다. 쿠버네티스에서도 Ingress라고 하는 리소스가 존재하는데요. 쿠버네티스의 Ingress는 외부에서 쿠버네티스 클러스터 내부로 들어오는 네트워크 트래픽을 어떻게 처리할지 정의한답니다. 쿠버네티스에서 실행중인 Deployment와 Service에 접근하기 위한 외부 요청을 처리하는 리소스들이 있는데요. NodePort, ExternalIP, Ingress 등이 있습니다. NodePort와 Ext.. 2023. 8. 19.
[K8S] Helm이란? 안녕하세요? 할배즈..입니다. 오늘은 Helm에 대해 알아보겠습니다~ Helm 이란? 헬름은 쿠버네티스 차트를 관리하기 위한 도구이다. 차트는 사전 구성된 쿠버네티스 리소스의 패키지다. 헬름은 패키지 관리 도구고, 차트가 리소스를 하나로 묶은 패키지에 해당한다. 헬름으로 차트를 관리하는 목적은 자칫 번잡해지기 쉬운 매니페스트 파일을 관리하기 쉽게 하기 위한 것이다. 실무에서는 로컬 및 운영 클러스터를 막론하고 여러 환경에 배포해야 하는 애플리케이션은 모두 차트로 패키징해 kubectl 대신 헬름으로 배포 및 업데이트를 수행한다. 그 대신 이미 배포된 리소스에 대해 kubectl로 수정한다. 헬름의 주요 개념 종류 내용 local 헬름 클라이언트가 설치된 로컬 리포지토리로, 로컬에서 생성한 패키지가 존재한.. 2023. 8. 18.
[AWS] AWS EKS Node Drain 안녕하세요 비티시보이즈입니다. 오늘의 주제는 EKS Node Drain입니다. Kubernetes Node Drain이란? kubectl drain은 Node 관리를 위해서 지정된 Node에 있는 Pod들을 다른곳으로 이동시키는 명령입니다. Node에 있는 Pod들을 다른 Node로 옮기고, Drain을 한 Node에 Cordon을 하여 drain 후에도 다시 스케줄링 되지 않도록 해주는 명령입니다. Node Drain 순서 Node를 Drain하는 순서는 다음과 같이 진행됩니다. 먼저 drain하려는 노드의 이름을 식별합니다. 다음을 사용하여 클러스터의 모든 노드를 나열할 수 있습니다. kubectl get nodes 다음으로 Kubernetes에 노드를 비우도록 지시합니다. kubectl drain .. 2023. 8. 17.