개발자가 직접 관리 → 문서화를 통한 관리(업데이트 누락 가능성) → 서버 관리 도구를 통한 관리(관리 도구에 대한 학습 필요) → 가상 머신을 이용한 관리(느림, 벤덩 종석적) → 도커도커 관련하여 참고생성 쉽고 효율적배포와 롤백이 간단애플리케이션을 동일한 방식으로
master : 마스터node : 노드k8s : 쿠버네티스etcd : 엣지디pod : 팟이스티오 : 이스티오helm : 헬름knative : 케이 네이티브컨테이너화된 애플리케이션을 자동으로 배포, 스케일링 및 관리컨테이너를 쉽게 관리하고 연결하기 위해 논리적인 단위로
상태 체크(Observe) → 차이점 발견(Diff) → 조치(Act)를 반복한다.Desired state는 여러개 존재할 수 있다.상태와 데이터를 저장고가용성을 보장해야 한다.(분산 시스템 구성)가볍고 빠르면서 정확하게 설계key-value 형태로 저장백업 필수새로
가장 작은 배포 단위pod마다 고유한 IP를 할당pod은 여러개의 컨테이너 또는 단일 컨테이너로 이루어질 수 있다.host 폴더 공유 localhost 네트워크 공유여러개의 pod을 관리replicas : 관리할 pod의 개술 결정새로운 poddms template을
api server가 명세를 보고 etcd에 정보를 저장하고 명세에 따라 controller가 동작하게 된다.원하는 상태(desired state)를 다양한 오브젝트로(object)로 정의(spec)하고 API 서버에 yaml 형식으로 전달쿠버네티스는 큰 컨테이너 관리
쿠버네티스 안내서(https://subicura.com/k8s/prepare/yaml.html들여쓰기 2칸 또는 4칸들여쓰기는 2칸 추천key: value반드시 : 이후 띄어쓰기 해야한다.\-로 표기true, false, yes, no정수 또는 실수를 따옴표
최소 3대의 마스터 서버n개의 노드 서버(컨테이너 배포를 위한)설치 복잡, 배포 환경에 따라 방법이 다르다서버 1대스케줄링 불가능, 서버가 죽으면 상태 유지를 위해 다른 서버를 뛰우는 것도 불가능, 로드밸런서 테스트 힘듬mac에 기본적으로 설치되어 있는 hyperkit
쿠버네티스에 명령을 전달하기 위한 프로그램클라우드 가상 머신에 k3s 설치, 가상 머신에 접속하여 테스트한다.가상 머신(aws lightsail)k3s: 가볍고 빠른 k8s 배포 버전k8s의 기본적인 기능을 익히기 위한 도구실습이 끝나면 반드시 종료(안끄면 열심히 자원
docker의 경우 여러 서버에 컨테이너가 있으면 컨테이너가 실행중인 서버를 찾아서 접속 후 컨테이너에 접속해야 한다.k8s의 경우 어디에 떠 있던지 컨테이너를 연결해준다.kubectl은 여러개의 쿠버네티스 클러스터를 컨텍스트로 설정하고 필요에 따라 선택할 수 있다.클
k8s에서 관리하는 가장 작은 배포 단위Pod은 한 개 또는 여러개의 컨테이너를 포함한다.version: 오브젝트 버전kind: 종류(Pod, Replicaset)metadata: 메타데이터(name, label, annotation)spec: 상세 명세, 리소스 종류
Pod은 자동으로 복구되지 않습니다. 하지만 Replicaset은 Pod을 정해진 수만큼 복제하고 관리할 수 있습니다.(Pod이 죽어도 자동으로 복제를 해준다.)spec.replicas: 원하는 Pod의 개수 설정spec.selector: label 체크 조건(어떤 l
Deployment는 쿠버네티스에서 가장 널리 사용되는 오브젝트ReplicaSet을 이용하여 Pod을 업데이트하고 이력을 관리하여 롤백하거나 특정 버전(revision)으로 돌아갈 수 있다.새로운 버전의 Pod을 생성하고 기존 Pod을 제거한다.Deployment Co
Pod의 경우 쉽게 사라지고 생성됨 → 직접 통신을 권장하지 않는다.별도의 고정된 IP를 가진 서비스를 만들어 Pod에 접근해야 한다.클러스터 내부의 Pod이 다른 Pod에 접근하기 위해 사용(내부에서 사용하는 것이 목적)Service(ClusterIP)는selecto
도메인을 이용하여 서비스에 접근할 수 있는 방법port는 1개이며 path, domain을 이용하여 서비스를 분기시킨다.(Ingress만 관리하면 된다)도메인 테스트는 귀찮은게 많으니 IP주소를 도메인에 넣어 바로 사용할 수 있는 slipp.io를 이용한다.ingres
만약 Pod을 제거하게되면 컨테이너 내부에 저장했던 데이터 또한 모두 제거된다. 이러한 문제를 해결하기 위해 별도의 저장소에 데이터를 저장하고 컨테이너를 새로 만들 때 이전 데이터를 가져와야 하는데 이를 위해 Volume을 사용한다.pod에 속한 컨테이너 간 디렉토리를
쿠버네티스는 ConfigMap을 이용하여 설정을 관리한다.파일 내용(config-file.yml)이 my-config로 저장된다.volume을 이용하여 ConfigMap을 적용한다./etc/config라는 컨테이너 내부 디렉토리에 ConfigMap을 마운트한다.kube
보안 정보를 관리하기 위해서 사용하지만 etcd에 그대로 저장되기 때문에 중요한 정보인 경우 외부 솔루션을 사용해야한다.쿠버네티스 안내서