본문 바로가기

Infra/Kubernetes10

[Kubernetes 입문] 6-2. 컨트롤러 (DemonSet, StatefulSet, Job, CronJob) 데몬셋 (DemonSet) - 공식문서 클러스터 전체 노드에 특정 파드를 실행할 때 사용 노드가 클러스터에 추가되면, 파드도 추가됨 노드가 클러스터에서 제거되면, 데몬셋이 실행한 파드가 가비지(garbage)로 수집됨 데몬셋의 대표적인 용도 모든 노드에서 클러스터 스토리지 데몬 실행 모든 노드에서 로그 수집 데몬 실행 모든 노드에서 노드 모니터링 데몬 실행 # daemonset-example.yaml (데몬셋 예시) apiVersion: apps/v1 kind: DaemonSet metadata: name: fluentd-elasticsearch namespace: kube-system labels: k8s-app: fluentd-logging spec: selector: matchLabels: name.. 2023. 1. 19.
[쿠버네티스 입문] 6-1. 컨트롤러 (Replication Controller, ReplicaSet, Deployment ) 쿠버네티스의 컨트롤러(Controller) 파드들을 관리하는 역할 다양한 목적에 맞게 사용할 컨트롤러들이 존재 레플리케이션 컨트롤러 (Replication Controller) 지정한 숫자만큼 파드가 항상 클러스터 안에서 실행되도록 관리 컨트롤러 없이 파드를 직접 실행하면 파드에 문제가 생겨 종료됐거나 삭제됐을 때 재시작하기 어렵다. 등호 기반(equality-based)의 셀렉터 지원 셀렉터가 레이블을 선택할 때 `=` , `!=` 연산자 지원 최근에는 레플리케이션 컨트롤러 대신 레플리카세트를 사용하는 추세 레플리카 세트 (Replica Set) 레플리케이션 컨트롤러의 발전형 집합기반(set-based)의 셀렉터 지원 셀렉터가 레이블을 선택할 때 in, notin, exists 연산자 지원 레플리케이션.. 2023. 1. 16.
[쿠버네티스 입문] 5-1. 파드 파드 개념 쿠버네티스는 파드라는 단위로 컨테이너를 묶어서 관리 보통 파드 안에 컨테이너 하나가 아닌 여러 개의 컨테이너로 구성됨 파드로 컨테이너 여러 개를 한꺼번에 관리할 때는 컨테이너마다 역할을 부여할 수 있음 파드 하나에 속한 컨테이너들은 모두 노드 하나 안에서 실행 (노드란?) -> 파드의 역할 중 하나가 컨테이너들이 같은 목적으로 자원을 공유하는 것이므로 가능 파드 하나 안에 컨테이너들이 IP 하나를 공유함 파드에 192.168.10.10 이라는 IP 로 접근하며, 파드안 컨테이너와 통신할 때는 컨테이너마다 다르게 설정한 포트(Port)를 사용함 파드 사용하기 # pod-sample.yaml apiVersion: v1 kind: Pod metadata: name: kubernetes-simple-.. 2023. 1. 12.
[쿠버네티스 입문] 4-2. 오브젝트와 컨트롤러 쿠버네티스는 오브젝트(object)와 오브젝트를 관리하는 컨트롤러(controller)로 나뉨 사용자는 템플릿 등으로 쿠버네티스에 자원의 '바라는 상태'를 정의하고, 컨트롤러는 바라는 상태와 현재 상태가 일치하도록 오브젝트들을 생성/삭제 함 오브젝트 pod service volumn namespace 등등 컨트롤러 ReplicaSet Deployment StatefulSet DemonSet Job 등등 네임스페이스 kubenetes namespace 공식문서 : https://kubernetes.io/ko/docs/concepts/overview/working-with-objects/namespaces/ 네임스페이스는 쿠버네티스 클러스터 하나를 여러 개 논리적인 단위로 나눠서 사용하는 것 네임스페이스를 .. 2023. 1. 5.
[쿠버네티스 입문] 4-1. 쿠버네티스 아키텍처 쿠버네티스 클러스터의 전체 구조 kubernetes 주요 컴포넌트 공식 문서 : https://kubernetes.io/docs/concepts/overview/components/ 쿠버네티스 클러스터는 크게 두 종류의 서버로 구성 마스터 (master) etcd, kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, kube-proxy, docker 등의 컴포넌트가 master에서 실행됨 마스터는 보통 고가용성을 만족하고자 서버 3대정도 구성해서 운영. 실제 클러스터를 관리하는 리더 마스터 1대 / 나머지 2대는 대기 리더 마스터에 장애 발생 시, 대기하던 마스터가 리더 역할로 교체함 노드 (node) kubelet, kube-proxt,.. 2023. 1. 5.