例
種別、メタデータ、コンテナの三部構成になっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: nginx name: nginx-1 spec: containers: - image: wrong-nginx name: nginx resources: {} dnsPolicy: ClusterFirst restartPolicy: Always status: {} |
種別
設定を変えることは基本ない。
1 2 |
apiVersion: v1 kind: Pod |
apiVersion
kindによって指定できるapiバージョンが異なります。(Podの場合はv1と指定します。)
以下のようなAPIドキュメントを読んで探します。
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/
GroupがCoreの場合は記述の省略が可能です。
kind
Podなどリソースの種別を指定します。
メタデータ
設定を変えることは基本ない。
1 2 3 4 5 |
metadata: creationTimestamp: null labels: run: nginx name: nginx-1 |
name
一意の名前をつける。(Pod名などになる。)
namespace
何もなければ「default」が指定されます。
labels
任意でキーバリューのペアを指定することができます。
コンテナ
1 2 3 4 5 6 7 |
spec: containers: - image: wrong-nginx name: nginx resources: {} dnsPolicy: ClusterFirst restartPolicy: Always |
containers
コンテナを複数指定できます。
image
バージョン指定がない場合はlatest(最新版)指定になるので思わぬ誤動作につながる可能性があるので注意が必要です。
imagePullPolicy
Always
毎回レポジトリからダウンロードを行う。
Never
ローカルのイメージを利用する。
IfNotPresent
ローカルに存在すればローカルを利用。存在しなければレポジトリからダウンロードする。
name
複数あるコンテナを特定するための名前をつけます。
command
コンテナに対する処理を記述する。Dockerで言えばENTRYPOINTが対応します。
args
コンテナに対する処理を記述する。Dockerで言えばCMDが対応します。
env
環境変数を渡せる。Kubernetesではこれで環境設定を渡すことが多い。
volumes
name
ボリューム名
hostPath
保存先。Pod実行サーバー上
nfs
保存先。NFSサーバー上
configMap
保存先。Kubernetesリソース
secret
保存先。Kubernetesリソース
emptyDir
保存先。空フォルダ
この記事へのコメントはありません。