Kubernetesでのシークレットの使用に関するほとんどの例では、同様の例を見つけることができます。
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: User
password: **********
上記の定義のtype: Opaque
の目的は何ですか?そこで指定できる他のタイプ(およびユースケース)は何ですか?
type: Opaque
は、kubernetesの観点から、このSecretのコンテンツは構造化されておらず、任意のキーと値のペアを含むことができることを意味します。
対照的に、ServiceAccount
クレデンシャルを格納するシークレット、またはImagePullSecret
として使用されるものがあります。これらのコンテンツには制約があります。
いろんなタイプ:
SecretType = "Opaque" // Opaque (arbitrary data; default)
SecretType = "kubernetes.io/service-account-token" // Kubernetes auth token
SecretType = "kubernetes.io/dockercfg" // Docker registry auth
SecretType = "kubernetes.io/dockerconfigjson" // Latest Docker registry auth
詳細については、 Secrets design document を参照してください。
ソースコードには、すべてのタイプがリストされています。
https://github.com/kubernetes/kubernetes/blob/release-1.14/pkg/apis/core/types.go#L4447