LABLE는 Kubernetes 기본 개념과 용어 합 복제 컨트롤러

라벨의 1.Kubernetes LABLE

LABLE이는 Kubernetes의 중심 개념이다하는 lable가이 키 = 키 - 값 쌍 키 및 상기 사용자에 의해 지정된 값의 값이 다양한 lable가 자원 오브젝트, 예를 들어 기지국, 포드, 서비스, RC 등 (A)에 부착 될 수있다 리소스 객체 정의는, 또한 동적으로 추가 또는 객체가 생성 된 후에 제거 될 수있는 경우 자원 객체도 LABLE와 개체 자원의 수를 추가 할 수 LABLE 임의의 개수를 정의 할 수 LABLE 보통 결정된다.

예를 들면, 상이한 환경에 대한 애플리케이션의 다른 버전을 배포 자원 객체 또는 다른 패킷 자원 관리 LABLE 다차원 복수의 결합에 의해 달성 될 수 있으며 또는 모니터링 및 분석 애플리케이션 (기록, 모니터링 경보) 등등. 태그의 일반적인 예는 다음과 같다 :

  1. 버전 라벨 "릴리스": "안정", "릴리스": "카나리아". . . . .
  2. 환경 라벨 "환경": "DEV", "환경": "생산"
  3. 架构 标签 "계층": "프론트 엔드", "계층": "백엔드", "계층": "미들웨어"
  4. 파티션 레이블 "파티션": "customerA"...
  5. 품질 관리 태그 "트랙": "매일", "트랙": "주간"

자원 객체를 정의하려면 LABLE 그에게 레이블에 해당하는 준, 당신은 조회 할 수 있습니다 및 필터 LABLE 선택기 (태그 선택기)를 통해 일부 LABLE 자원 객체를 가지고는 Kubernetes 달성 SQL과 같은 쿼리는이 방법으로 개체를 메커니즘. SQL에서 쿼리가 현재 표현 LABLE 선택기 두 종류가있는 곳으로 LABLE 선택기에 해당 : 세트에 식 (평등 기반)을 기반으로하고 기반의 (세트 기준).

전자 용도는 매칭 태그 표현식은 다음 예 "식 기반"

  1. 이름 = 레디 스 - 슬레이브는 매치는 레이블 이름을 가진 모든 자원 객체는 = 레디 스 - 슬레이브을
  2. ! 봉투 = 생산 :의 목적은 모든 태그 봉투에 맞게 자원이없는 = 생산

식 매칭 태그 다음의 예를 사용하는 작업의 후반 세트 :

  1. (레디 스 마스터가, 레디 스 - 슬레이브)에 이름 : 레이블 이름 = 레디 스 마스터 또는 이름을 가진 모든 자원 객체를 일치 = 레디 스 - 슬레이브
  2. 에없는 이름 (mysql을 - 백엔드) : 자원 객체의 모든 레이블 이름 = mysql을 - 백엔드 일치하지 않습니다

여러 가지 조건 사이의 관계 "AND"분리 될 수있다 ","즉, 복수의 조건이 만족된다 lable가 선택기 복잡한 조건식을 선택 쉼표 여러 식의 복수의 조합에 의해 달성 될 수있다 다음 예제 :

  1. 이름 = 레디 스 마스터, ENV! = 생산
  2. (레디 스 마스터, 레디 스 - 슬레이브), ENV에 이름을! = 생산

다음과 같이 일반적으로, 우리는 포드 lable가의 정의를 제공합니다 :

apiVersion : V1

종류 : 포드

메타 데이터 :

   이름 : myweb

   lables :

      응용 프로그램 : myweb

RC 및 서비스 관리는 선택기와 포드 정의 된 사양에 준 개체 :

apiVersion : V1

종류 : ReplicationController

메타 데이터 :

   이름 : myweb

투기:

  복제본 : 1

  선택자:

      응용 프로그램 : myweb

 

 

apiVersion : V1

종류 : 서비스

메타 데이터 :

   이름 : myweb

투기:

  선택자:

      응용 프로그램 : myweb

  포트 :

  - 포트 : 8080

당신이 선택에 따라 정의 된 필터 조건의 집합을 사용할 수 있습니다 배포, ReplicaSet, DaemonSet 작업 신흥 관리되는 객체로서 다음과 :

선택자:

   matchLables :

       응용 프로그램 : myweb

   matchExpressions :

       - {키 계층 연산자에서는 값 [프론트 엔드]}

LABLE, 직접 쓰기 선택기 같은 역할의 집합을 정의하기위한 matchLables이 matchExpressions 가능한 상태 사업자의 집합을 기준으로 필터링 기준의 세트를 정의하는 데 사용은 다음과 같습니다에서, NotIn,은, DoesNotExist을 존재

모두 matchLables 및 matchExpressions 경우, "AND"관계, 필요 조건의 두 세트는 심사 선택을 완료하기 위해 충족되어야합니다.

몇 가지 중요한 사용 시나리오는 Kubernetes에서 LABLE 선택은 다음과 같습니다

  1. KUBE 제어기 프로세스는 자동 유동 제어 설정 포드 일관 충족 기대 매수를 달성하기 위해, 포드 LABLE 선택기 리소스 객체 RC에 의해 정의 모니터링 매수를 필터링 할
  2. KUBE 프록시 프로세스는 서비스기구 지능적인로드 밸런싱을 가능 자동 라우팅 테이블을 각 서비스 포드 포워딩 해당 요청을 수립하기 위해, 포드 LABLE 선택기 서비스를 통해 대응하는 선택
  3. 정의 특정 LABLE 일부 노드 및 사용 NodeSelector 포드 ​​스케줄링 정책 정의 파일에서이 레이블로, KUBE-스케줄러 프로세스는 포드를 달성하기 위해 "직접 예약"기능이 될 수 있습니다

2.Kubernetes 之 복제 컨트롤러

복제 컨트롤러는 Kubernetes에 실제로 원하는 장면의 정의, 다음과 같은 값을 포함하여 예상 값에 맞춰 언제든지 특정 포드 문 사본의 수, RC에서 언급 :

  1. 포드는 예상 번호 (복제본) 사본
  2. 포드의 선별 LABLE 선택기 대상
  3. 매수는 포드가 적은 예상 수보다 경우, 템플릿은 새 포드 (템플릿)을 만드는 데 사용

우리는 RC의 수를 정의와는 Kubernetes에 제출하면, 마스터 노드 컨트롤러 Manager 구성 요소는 정기적 인 검사 시스템 현재 가능한 대상 포드를 통지하고, 이상의 경우 정확히의 대상 포드 예 것으로, 복제본의 값과 동일 이 값이, 시스템은 포드의 일부를 중지됩니다, 적게는 몇 가지 포드를 작성합니다. 그것은 RC에 의해, 말할 수있다, 많은 수동 작업의 운영 및 유지 보수를 줄이고, 고 가용성 클러스터를 달성하기 위해 사용자 응용 프로그램을는 Kubernetes

우리는 동적으로 인스턴스 포드의 수를 확대 할 수 있습니다, kubectl 스케일 RC 명령은 우리를 위해이 기능을 제공합니다

kubectl 스케일의 RC 레디 스 슬레이브 --replicas = 3

삭제가 이미 포드에 의해 생성 된 RC 및 RC 영향을 미치지 않습니다 모든 포드를 제거하기 위해 주목해야한다, 당신은 복제본을 설정할 수 있습니다 0, 다음 RC를 업데이트합니다. 또한 kubectl 모든 포드 RC 및 RC 타임 컨트롤을 삭제 정지 및 삭제 명령을 제공합니다

RC는 또한 부드럽게 포드의 10 개 이전 버전이 새 버전으로 업데이트해야하는 등 현재의 시스템으로 사용자 응용 프로그램의 기능이 업그레이드 제공, 가장 좋은 방법은 몇 분 후, 때마다 포드의 이전 버전을 중지 포드의 새 버전을 만드는 것입니다 모든 포드 업그레이드의 새 버전이 완료되면, 사용자는 사업의 효과를 느끼지 않을 것입니다,이은으로는 Kubernetes라고 "롤링 업그레이드."

 

추천

출처www.cnblogs.com/lemon-dog/p/12417048.html