전체 글345 레플리카셋(Replicaset) [레플리케이션컨트롤러 & 레플리카셋 차이] - 레플리카셋은 레플리케이션컨트롤러와 똑같이 동작하지만 더 풍부한 표현식 포드 셀렉터를 갖음 - 단일 레플리케이션컨트롤러는 ㅁ 레플리케이션컨트롤러의 라벨. 셀렉터는 특정 라벨을 포함하는 포드가 일치하는지만 본다 ㅁ 포드를 라벨 env=production 및 라벨 env=devel과 동시에 일치 불가 ㅁ 라벨키가 있는 경우에만 포드와 일치 - 레플리카셋 ㅁ 레플리카셋의 셀렉터는 특정 라벨이 없거나 해당 값과 관계없이 특정 라벨 키를 포함하는 포드를 매치하는지 본다. ㅁ 단일 레플리카셋은 두 포드의 세트와 일치 가능하며 단일 포드로 취급 가능 ㅁ 레플리카셋은 라벨키가 없어도 일치 가능 (라벨을 포함하는 모든 포드를 env=*로 생각할 수 있는) [레플리카셋 정의] .. 2021. 2. 11. 레플리케이션 컨트롤러 (Replication Controller) - 레플리케이션 컨트롤러는 포드가 항상 실행되도록 유지하는 쿠버네티스 리소스 - 노드가 클러스터에서 사라지는 경우 또는 노드에서 포드가 제거된 경우와 같이 어떤 이유로든 포드가 사라지면 레플리케이션컨트롤러는 누락된 포드를 감지하고 대체 포드를 만든다. [레플리케이션컨트롤러의 동작] 레플리케이션컨트롤러는 실행 중인 포드의 목록을 지속적으로 모니터링하고 '유형'의 실제 포드 수가 원하는 수와 항상 일치하는지 확인 [컨트롤러의 연결 고리] [레플리케이션켠트롤러의 세가지 요소] ㅁ 레플리케이션컨트롤러의 범위에 있는 포드를 결정하는 라벨 셀렉터 ㅁ 실행해야 하는 포드의 원하는 수를 지정하는 복제본 수 ㅁ 새로운 포드 복 제본을 만들 때 사용되는 포드 템플릿 [컨트롤러의 라벨 셀렉터 또는 포드 템플릿 변경에 따른 .. 2021. 2. 11. 라이브니스 프로브 (Liveness Probe) 쿠버네티스는 라이브니스 프로브 (Liveness probe)를 통해 컨테이너가 아직 살아 있는지 확인 할 수 있다. 포드의 사양에서 각 컨테이너에 라이브니스 프로브를 지정할 수 있다. 쿠버네티스는 세 가지 메커니즘 중 하나를 사용해 컨테이너를 검색한다. - [HTTP GET 프로브]는 지정한 IP 주소, 포트, 경로에 HTTP GET 요청을 수행한다. ㅁ 프로브가 응답을 수신하고 응답코드가 오류를 나타내지 않으면(즉, HTTP 응답코드가 2xx 또는 3xx 인 경우) 프로브는 성공한 것으로 간주 ㅁ 서버가 오류 응답 코드를 리턴하거나 응답하지 않으면 프로브는 실패로 간주하고 결과적으로 컨테이너를 다시 시작 - [TCP 소켓 프로브]가 컨테이너의 지정된 포트에 TCP 연결을 열려고 시도. 성공적으로 연결되.. 2021. 2. 10. Pod 4 - (Namespace) - 객체를 서로 겹치지 않는 별개의 그룹으로 분리하려는 경우 쿠버네티스는 객체를 네임스페이스로 그룹화 함. - 이 네임스페이스는 리눅스 네임스페이스와는 다름 - 동일한 리소스 이름을 여러 네임스페이스에서 여러 번 사용할 수 있다. [네임스페이스의 필요성] - 여러 네임스페이스를 사용하면 많은 구성 요소를 포함하는 복잡한 시스템을 더 작은 그룹으로 분할 가능 - 멀티 테넌트(multi-tenant) 환경에서 리소스를 분리하고 리소스를 생산, 개발 및 QA 환경으로 또는 기타 필요한 방식으로 분할 하는데 사용 가능 - 리소스 이름은 네임스페이스 내에서만 고유하면 됨, 두 개의 네임스페이스는 동일한 이름의 리소스 포함 가능 [다른 네임스페이스와 네임스페이스의 포드] 클러스터에 있는 모든 네임스페이스 나열 $ .. 2021. 2. 10. Pod 3 - (Label을 이용한 Pod 구성) [라벨 소개] - 라벨은 포드 뿐만 아니라 쿠버네티스의 모든 리소스를 구성하는 간단하면서도 강력한 쿠버네티스 기능 - 라벨은 리소스에 첨부하는 임의의 키/값 쌍이다. - 라벨 셀렉터를 사용해 리소스를 선택할 때 활용 - 리소스는 해당 라벨의 키가 해당 자원 내에서 고유한 경우 하나 이상의 라벨을 가질 수 있다. - 각각의 포드는 두개의 라벨이 있다. ㅁ app은 포드가 속한 애플리케이션이며, 구성 요소 또는 마이크로서비스를 지정한다. ㅁ rel은 포드에서 실행 중인 애플리케이션이 안정적 버전, 베타 혹은 카나리 버전인지 여부를 표시 정의: 카나리 버전은 안정적인 버전 이외의 새로운 버전의 애플리케이션을 배포할 때 사용. 모든 사용자에게 배포하기 전에 일부 사용자가 새로운 버전을 사용해 동작 방법을 살펴 .. 2021. 2. 10. Pod 2 - (YAML이나 JSON 파일 디스크립터에서 Pod 만들기) Pod와 그 밖의 쿠버네티스 리소느는 일반적으로 JSON 또는 YAML 매티페스트를 쿠버네티스R EST API 앤드포인트에 게시해 생성 각 리소스 유형의 모든 속성을 구성하려면 쿠버네티스 API 객체의 정의를 알아야 함. 1. Pod의 YAML 디스크립터 검사 [배포된 Pod의 전체 YAML] $ kubectl get po kubia-zxzij -o yaml apiVersion: v1 kind: Pod metadata: annotations: kubernetes.io/created-by: ... creationTimestamp: 2016-03-18T12:37:50Z generateName: kubia- labels: run: kubia name: kubia-zxzij namespace: default r.. 2021. 2. 10. 이전 1 ··· 43 44 45 46 47 48 49 ··· 58 다음