"심층 분석는 Kubernetes - 12 작은 헬기 조종사 :. 내 첫 컨테이너 응용 프로그램을"
제조 화상 YAML 프로파일 (또는 JSON)의 제조 : 두 단계를 포함한다
배치에 대한 일 예로서 Nginx에
apiVersion : 응용 프로그램 / V1의 종류 : 배포 메타 데이터 : 이름 : nginx를-배포 사양 : 선택 : matchLabels : 응용 프로그램 :의 nginx의 복제본 : 2 템플릿 : 메타 데이터 : 라벨 : 응용 프로그램 :의 nginx의 사양 : 컨테이너 : - 이름 : nginx를 이미지 :의 nginx : 1.7. 9 개 포트 : - containerPort : 80
종류 필드 유형, 예를 들어 배포를 선언하며, 메타 데이터는 구체적 예 : 이름, 네임 스페이스, 라벨, 특수 효과 등을 위해, 설명, 등 daemonset
spec.template는 포드의 상세한 설명, 즉, 컨테이너 구성 템플릿
작성 배포
$의 kubectl은 -f의 nginx-deployment.yaml를 만들
보기 배포 작업
$ kubectl GET 포드 -l 응용 프로그램 = nginx를 NAME READY 상태는 AGE n을 다시 시작 ginx 배포-67594d6bf6-9gdvr 1/1 0 10m 달리기 0 10m 실행 nginx를 배포-67594d6bf6-v6j7w 1/1
API 오브젝트의 세부 정보보기
포드의 nginx 배포-67594d6bf6-9gdvr 설명 kubectl 이름 : nginx를 배포-67594d6bf6-9gdvr 네임 스페이스 : 기본 우선 순위 : 0 PriorityClassName : <없음> 노드 : 노드-1 / 10.168.0.3 시작 시간 : 2018년 (목) 08:48 8월 16일 : 42 0000 레이블 : 응용 프로그램 = nginx를 포드 템플릿 해시 = 2315082692 주석 : <없음> 상태 : 실행 IP : 10.32.0.23 ReplicaSet / nginx를 배포-67594d6bf6 :에 의해 제어되지 ... 이벤트 : 메시지에서 유형 이유 나이 ---- ------ ---- ---- ------- 일반 예약 된 1m 기본-스케줄러 성공적으로 할당 된 기본 / nginx를 배포-67594d6bf6-9gdvr 노드-1 정상 이겠지 25 초 kubelet 노드-1 당기는 이미지 "의 nginx : 1.7.9" 일반 빼서 17S의 kubelet, 노드-1을 성공적으로 가져온 이미지 "의 nginx : 1.7.9" 일반 만든 17S의 kubelet, 노드 1 만든 컨테이너 일반 시작 17S의 kubelet는 노드 1 시작 컨테이너
후반 필드가 이벤트 문제의 위치를 찾을 수 있습니다, 일반
(1)를 포함하는 적합한 노드 노드 일정 창을 찾을
경기 노드는 노드 레이블이 아니다;
노드 노드 자원이 충분하지 않습니다;
노드는 노드의 얼룩을 가지고;
네트워크 노드에서 비정상 노드;
(2) 상기 미러 실패 당겨
컨테이너 미러링 버전 업그레이드
... 사양 : 컨테이너 : - 이름 : nginx를 이미지 : nginx를 여기 # 1.8 1.7.9 1.8에서 수정 된 포트 : - containerPort : 80
실행
$의 kubectl은 -f의 nginx-deployment.yaml 교체
보다 일반적인 방법은 만들거나 명령을 통해 수행 할 수 있습니다 수정 여부, 관련 작업의 구현을 통해 적용하는 것입니다
$ Kubectl은 -f의 nginx-deployment.yaml 적용 # nginx를-deployment.yaml의 내용을 수정 적용 kubectl $을 -f의 nginx-deployment.yaml을
다음은 탑재 된 볼륨의 예
EmptyDir 및 보통 이가지 hostPath으로 나누어 져, 그 차이는 전자는 호스트 디렉토리 (소스 디렉토리)를 지정할 필요가 없다는 것입니다, K8S는 호스트에 임시 디렉토리를 생성하고 마운트하고, 후자는 명시 적으로 선언 할 필요가 연결되어 소스 디렉토리에 포함 된, 예를 들면, 호스트 컴퓨터 / usr / 지방 / Nginx에 / HTML 디렉토리는 용기의 동일한 위치에 장착 될
emptyDir 예
볼륨 : - 이름 : nginx를-부피 emptyDir : {} hostPath的例子 ... 볼륨 : - 이름 : nginx를-부피 hostPath : 경로의 경우 : / var / 데이터
컨테이너 속으로
$의 kubectl 간부 - 그것은 nginx를 배포-5c678cfb6d-lg9lw - / 빈 / bash는 # 1!는 / usr / share /의 nginx / html로
컨테이너 삭제
$ Kubectl 삭제 -F의 nginx deployment.yaml