概要
- Kubernetesマニフェストファイルとは
- Kubernetesのリソース管理に用いるファイル
- 具体的にはどんな物か
- Kubernetesリソースの構成を記述したテキストファイル
- 必須フィールド(項目)は
apiVersion
,kind
,metadata
,spec
の4つ。(公式ドキュメント)
example.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
必須フィールド
apiVersion
- 利用するKubenetesAPIのバージョン。
- 参考:Kubernetesの apiVersion に何を書けばいいか
kind
- 作成するオブジェクトの種類。
-
公式ドキュメントのリソース一覧表 の、
Kind
列から選択する。
metadata
- オブジェクトを一意に指定する為の情報。
-
name
,labels
などのフィールドを用いて下記の様に指定する。
metadata:
name: nginx-deployment
labels:
app: nginx
-
name
, もしくはnamespase
フィールドが必須。
(どちらも無いとデプロイ時に下記のエラーが発生する)
"" is invalid: metadata.name: Required value: name or generateName is required
spec
- 作成するオブジェクトの理想状態。
- 現実の状態がここに記載した理想状態に一致する様に、よしなに調整してくれる (公式ドキュメント 参照)
- 作成するオブジェクトの種類によって指定するフィールドは異なる。(下記は
pods
オブジェクトの例)
kind: Pod
spec:
containers:
- name: nginx
image: nginx