Dans la plupart des exemples d'utilisation de secrets dans Kubernetes, vous pouvez trouver des exemples similaires:
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: User
password: **********
Quel est le but de type: Opaque
dans la définition ci-dessus? Quels autres types (et pour quels cas d'utilisation) peuvent-ils y être spécifiés?
type: Opaque
signifie que du point de vue de kubernetes le contenu de ce Secret n'est pas structuré, il peut contenir des paires clé-valeur arbitraires.
En revanche, il existe le Secret stockant ServiceAccount
informations d'identification, ou celles utilisées comme ImagePullSecret
. Ceux-ci ont un contenu contraint.
Tous les types:
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
Pour en savoir plus, voir Document de conception des secrets .
Le code source répertorie tous les types:
https://github.com/kubernetes/kubernetes/blob/release-1.14/pkg/apis/core/types.go#L4447