私たちのヘルプドキュメント
ポッドを説明kubectl
FIELDS:
apiVersion <文字列>バージョン番号
種類の<string>リソースタイプ
メタデータの<Object>のメタデータ
希望スペック<オブジェクト>行動指定されたコンテナ
ステータス<オブジェクト>(読み取り専用)状態
例を見てください
---
apiVersion:V1の
種類:ポッドの
メタデータ:
名前:nginxの-ポッド
名前空間:デフォルト
仕様:
コンテナ:
-名前:nginxのコンテナの
画像:nginxの:最新
metadata.name:名前空間名は一意でなければなりません。
metadata.namespace:指定名前空間
spec.containers:実行中のコンテナの振る舞いの定義
spec.containers.name:コンテナ名
ミラー動作コンテナ:spec.containers.image
みんなのニーズは、同じリソース構成リスト異なりません。だからここだけの助けを見つける方法とドキュメントフォーマットを作成する方法について説明します。
リソースはのみ(apiVersion及び種類)が決定されているそのうちの2つ4、のリストを定義する必要があります。これは、メタデータのみとスペックに関するものです。
メタデータの一般的なオプション:
ビューヘルプ情報:pod.metadataを説明kubectl
名の<string>
注釈<マップ[文字列]文字列>
ラベル<マップ[文字列]文字列>
<マップ[文字列]文字列>使用法:キー:値は、metadata.labelsフォーマットを参照してください。
示例演示:
---
apiVersion:V1の
種類:ポッドの
メタデータ:
注釈:
著者:mycloudedu
名:nginxの-ポッド
名前空間:デフォルトの
ラベル:
アプリ:nginxの
ティア:フロントエンドの
仕様:
コンテナ:
-名前:nginxのコンテナの
画像:nginxの:最新
验证:
[マスターkubernetes @ルート]#kubectl GETポッド--show-ラベル
NAME READYのステータスが再起動AGEは、ラベル
1/1が0 3m46sアプリ= nginxの、ティア=フロントエンドを実行しているnginxの、ポッドを[マスター@ルートkubernetes]#はポッドのnginx-ポッド説明kubectl
名:nginxの-ポッド
名前空間:デフォルトの
優先度:0
ノード:node02で/ 192.168.100.82
開始時刻:水曜日、2019年12月11日午後7時13分52秒0800
ラベル:アプリ=を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:
EXEC:
コマンド:[ "/ binに/ SH"、 " - C"、 "エコーこんにちはpostStartハンドラ> /usr/share/nginx/html/index.htmlから"]
検証:
[マスターkubernetes @ルート]#カール10.244.2.25
postStartハンドラからこんにちは