[정리] 기능별 개념 정리(105)
-
쿠버네티스 입문 - 05 - 레이블, 셀렉터, 어노테이션
레이블 레이블은 오브젝트를 구분하는 역할이다. 레이블은 사용자가 임의로 원하는 값을 지정한다. 레이블은 셀렉터와 같이 사용되며 셀렉터는 특정 레이블이 있는 자원을 선택할 때 사용된다. 레이블 덕분에 컨트롤러와 파드가 느슨한 결합을 할 수 있다. 레이블을 사용하면 특정 파드에 문제가 생길 경우 서비스에 영향 없이 해당 파드만을 따로 분리해서 확인할 수있도록 하게 해준다. 접두어 kubernetes/io 가 있는 레이블 키는 쿠버네티스 시스템에서 사용하는 레이블이다. 카나리 배포는 레이블을 이용하여 구현할 수 있다. 레이블 셀렉터 크게 등호 기반 / 집합 기반으로 나뉜다. 등호 기반 셀렉터는 레이블을 가지고 있냐 없냐로 셀렉트한다. 집합 기반 셀렉터는 레이블을 가지고 있냐 없냐 이외에도 특정 문자열이 들어가..
2020.04.04 -
쿠버네티스 입문 - 04 - 인그레스
인그레스 인그레스는 클러스터 외부에서 안에 있는 파드로 접근할 때 사용된다. 인그레스는 클러스터 외부에서 안으로 접근할 때 요청을 어떻게 처리할지 정의해둔 규칙 모음이다. 인그레스 자체는 그냥 규칙을 정의해둔 자원이다. 인그레스 컨트롤러가 실제로 인그레스를 동작시킨다. 쿠버네티스에서 제공하는 공식적인 인그레스 컨트롤러는 ingress-gce, ingress-nginx 이다. 서비스와의 차이점은 주로 L7 영역의 통신을 담당해서 처리한다는 점이다. 인그레스 컨트롤러에서 파드로 직접 접근할 수도 있으므로 중간에 서비스를 생략하면 좀 더 좋은 성능을 낼 수 도 있다. 인그레스 샘플 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: test annota..
2020.04.04 -
쿠버네티스 입문 - 03 - 서비스
서비스 서비스는 여기저기 옮겨 다니는 여러개의 파드에 접근할 수 있는 하나의 IP를 제공한다. 본질적으로는 로드밸런서 역할이다. 인그레스와 비교되기도하는데 서비스는 L4 영역이라면 인그레스는 L7영역에서 통신할 때 사용된다. 서비스는 `서비스이름.default.svc.cluster.local` 과같은 FQDN 을 가진다. 서비스 타입 ClusterIP : 기본 서비스 타입이며 클러스터 내부에서만 사용할 수 있다. NodePort : 모든 노드의 지정된 포트는 이 서비스로 연결되게 한다. 클러스터 외부와 파드를 연결하는 가장 간단한 방법이다. LoadBalancer : 로드밸런서 장비를 사용하는 경우 로드밸런서와 파드를 연결하여 클러스터 외부에서 파드에 접근할 수 있게한다. ExternalName : 클러..
2020.04.04 -
쿠버네티스 입문 - 02 - 컨트롤러 6 - 크론잡
크론잡 잡을 시간 기준으로 관리하도록 생성한다. 시간을 지정할 때는 리눅스, 유닉스의 cron 명령어 옵션 형식을 그대로 사용한다. 크론잡 Sample apiVersion: batch/v1beta1 kind: CronJob metadata: name: hello-concurrency spec: schedule: "*/1 * * * *" startingDeadlineSeconds: 600 concurrencyPolicy: Forbid jobTemplate: spec: template: spec: containers: - name: hello image: busybox args: - /bin/sh - -c - date; echo Hello from the Kubernetes cluster; sleep 600..
2020.04.04 -
쿠버네티스 입문 - 02 - 컨트롤러 5 - 잡
잡 실행된 후 종료해야 하는 성격의 작업을 실행 시킬 때 사용하는 컨트롤러이다. 특정 개수의 파드를 정상적으로 실행 종료한다는 것을 보장 할 수도 있다. 잡 Sample apiVersion: batch/v1 kind: Job metadata: name: pi spec: template: spec: containers: - name: pi image: perl command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] restartPolicy: Never backoffLimit: 4 .spec.backoffLimit : 잡 실행이 실패했을 때 최대 몇번까지 재시작할 것인지 설정한다. .spec.parallelism : 잡 하나에 몇개의 파드를 동시에 실행할..
2020.04.04 -
쿠버네티스 입문 02 - 컨트롤러 4 - 스테이트풀셋
스테이트풀셋 상태가 있는 파드들을 관리하는 컨트롤러이다. 볼륨과 같이 특정 데이터를 저장한 후 파드를 재시작했을 때 해당 데이터를 유지한다. 스테이트풀셋 Sample apiVersion: v1 kind: Service metadata: name: nginx-statefulset-service labels: app: nginx-statefulset-service spec: ports: - port: 80 name: web clusterIP: None selector: app: nginx-statefulset-service --- apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: template: metadata: labels: app: ngi..
2020.04.04