Kubernetesの情報を本なりWebなりで見ていると、マニフェストファイルの例はたくさん出てきます。でもやっているうちに結局どんなパラメーターがあるの?と思ってフォーマットについて調べてみたけど、ちょっと辿り着きづらかったのでメモ。
Web上で確認する
マニフェストファイルではなく、APIのドキュメントとしてまとまっていました。
たとえば現時点で最新のv1.14はこちら。
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/
kubectlで確認する
kubectl explain
を使うと、現在のコンテキストのバージョンに沿った情報を出してくれます。
全体の階層を確認する
kubectl explain <リソース> --recursive
で全体の階層を表示。
Webだとこんな形で見れないのでとても便利!
$ kubectl explain service --recursive
KIND: Service
VERSION: v1
DESCRIPTION:
Service is a named abstraction of software service (for example, mysql)
consisting of local port (for example 3306) that the proxy listens on, and
the selector that determines which pods will answer requests sent through
the proxy.
FIELDS:
apiVersion <string>
kind <string>
metadata <Object>
annotations <map[string]string>
(略)
特定のパラメーターについての説明を表示
kubectl explain <リソース>.<階層>(.<階層>…)
でパラメーターの説明を表示。
$ kubectl explain service.spec.type
KIND: Service
VERSION: v1
FIELD: type <string>
DESCRIPTION:
type determines how the Service is exposed. Defaults to ClusterIP. Valid
options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
(略)