자원 포드는 Kubernetes 목록

우리의 도움말 문서

포드를 설명 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 핸들러에서 안녕하세요

추천

출처www.cnblogs.com/mycloudedu/p/12023632.html