우리의 도움말 문서
포드를 설명 kubectl
전지:
apiVersion <문자열> 버전 번호
종류 <문자열> 자원 유형
메타 <object> 메타
원하는 사양 <개체> 행동 지정된 컨테이너
상태 <개체> (읽기 전용) 상태
예를 들어 봐
---
apiVersion : V1의
종류 : 포드
메타 데이터 :
이름 : nginx를-포드
네임 스페이스 : 기본
사양 :
컨테이너 :
- 이름 : nginx를 컨테이너의
이미지 : nginx를 : 최신
metadata.name는 : 네임 스페이스 이름은 고유해야합니다.
metadata.namespace : 지정 이름 공간
spec.containers : 실행 컨테이너 행동의 정의
spec.containers.name : 컨테이너 이름
거울 동작 용기 : spec.containers.image
모든 사람의 요구는 동일하지 자원 구성 목록 다릅니다. 그래서 여기에만 도움 방법과 문서 형식을 작성하는 방법을 확인하는 방법에 대해 설명합니다.
자료는 결정되었습니다이있는 (apiVersion 및 종류)의 네의 목록을 정의 할 필요가있다. 그것은 단지 메타 데이터 및 사양과 관련되어있다.
메타 데이터 일반적인 옵션 :
보기 도움말 정보 : pod.metadata을 설명 kubectl
이름 <문자열>
주석 <맵 [문자열] 문자열>
라벨 <지도 [문자열] 문자열>
<맵 [문자열] 문자열> 구문 : 키 값 metadata.labels 포맷을 참조.
示例演示:
---
apiVersion : V1의
종류 : 포드
메타 데이터
주석 :
저자 : mycloudedu
이름 : nginx를 포드
네임 스페이스 : 기본
라벨 :
응용 프로그램 : nginx를
계층 : 프론트 엔드
사양 :
컨테이너 :
- 이름 : nginx를 컨테이너의
이미지 : nginx를 : 최신
验证:
[루트 @ 마스터는 Kubernetes] # kubectl GET 포드 --show-레이블
이름 READY 상태가 다시 시작 연령 라벨은
nginx에 포드 0 3m46s 응용 프로그램 = nginx를, 계층 = 프론트 엔드를 실행 1/1[루트 @ 마스터는 Kubernetes] # kubectl 설명 포드의 nginx 포드
이름 : nginx를 포드
네임 스페이스 : 기본
우선 순위 : 0
노드 : node02 / 192.168.100.82
시작 시간 : 2019년 (수) 19시 13분 52초 0800 12월 11일
레이블 : 응용 프로그램 = 의 nginx의
계층 = 프론트 엔드
주석 : 저자 : mycloudedu... ..
사양 일반적인 옵션 :
apiVersion: v1
kind: Pod
metadata:
name: liveness-exec-pod
namespace: default
spec:
containers:
- name: liveness-exec-container
image: busybox:latest
imagePullPolicy: IfNotPresent
command:
- "/bin/sh"
- "-c"
- "touch /1.txt; sleep 10; rm -f /1.txt; sleep 3600"
livenessProbe:
periodSeconds: 2
exec:
command:
- "cat"
- "/1.txt"
验证:
[root@master kubernetes]# kubectl get pods
NAME READY STATUS RESTARTS AGE
liveness-exec-pod 1/1 Running 0 35s注意看二次查询的结果。重启容器一次
[root@master kubernetes]# kubectl get pods
NAME READY STATUS RESTARTS AGE
liveness-exec-pod 1/1 Running 1 50s
示例readinessProbe演示:(服务是否准备就绪)
---
apiVersion: v1
kind: Pod
metadata:
name: readinessprobe-httpget-pod
namespace: default
spec:
containers:
- name: readinessprobe-httpget-container
image: nginx:latest
ports:
- name: http
containerPort: 80
imagePullPolicy: IfNotPresent
readinessProbe:
httpGet:
port: 80
periodSeconds: 3
initialDelaySeconds: 2
验证:
[root@master kubernetes]# kubectl get pods
NAME READY STATUS RESTARTS AGE
readinessprobe-httpget-pod 1/1 Running 0 19s交互式进入容器,人为破坏主页。
[root@master kubernetes]# kubectl exec readinessprobe-httpget-pod -it -- /bin/sh
# rm /usr/share/nginx/html/index.html
[root@master kubernetes]# kubectl get pod
NAME READY STATUS RESTARTS AGE
readinessprobe-httpget-pod 0/1 Running 0 113s交互式进入容器,人为创建主页。
[root@master kubernetes]# kubectl exec readinessprobe-httpget-pod -it -- /bin/sh
# echo hello > /usr/share/nginx/html/index.html
[root@master kubernetes]# kubectl get pod
NAME READY STATUS RESTARTS AGE
readinessprobe-httpget-pod 1/1 Running 0 2m58s
示例lifecycle演示:(创建容器后立即调用PostStart)
---
apiVersion : V1의
종류 : 포드
메타 데이터 :
이름 : 라이프 사이클 poststart - 포드
네임 스페이스 : 기본
라벨 :
응용 프로그램 : nginx를
계층 : 프론트 엔드
사양 :
컨테이너 :
- 이름 : 라이프 사이클 poststart 컨테이너의
이미지 : nginx를 : 최신
imagePullPolicy : IfNotPresent
라이프 사이클 :
postStart :
간부 :
명령 : "/ 빈 / SH", "-"C "를 postStart 핸들러> /usr/share/nginx/html/index.html 반향 안녕하세요"]
확인 :
[루트 @ 마스터는 Kubernetes] # 컬 10.244.2.25
postStart 핸들러에서 안녕하세요