在大多数关于在 Kubernetes 中使用机密的示例中,您可以找到类似的示例:
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: User
password: **********
上面定义的目的是什么type: Opaque
?可以在那里指定哪些其他类型(以及针对哪些用例)?
在大多数关于在 Kubernetes 中使用机密的示例中,您可以找到类似的示例:
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: User
password: **********
上面定义的目的是什么type: Opaque
?可以在那里指定哪些其他类型(以及针对哪些用例)?
type: Opaque
意味着从 kubernetes 的角度来看,这个 Secret 的内容是非结构化的,它可以包含任意键值对。
相反,有 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 设计文档。
The source code lists all the types:
https://github.com/kubernetes/kubernetes/blob/release-1.14/pkg/apis/core/types.go#L4447
看起来它对客户端的只读值,不允许客户端修改此值。
这个值必须被客户端视为不透明的,并且不加修改地传回服务端
此页面在 resourceVersion 字段中有详细信息。
这里的链接更改是文档信息:
resourceVersion string 一个不透明的值,表示此对象的内部版本,客户端可以使用该值来确定对象何时发生更改。可用于乐观并发、更改检测以及对资源或资源集的监视操作。客户端必须将这些值视为不透明的,并未经修改地传回服务器。它们可能仅对特定资源或一组资源有效。由系统填充。只读。客户必须将值视为不透明的,并且 . 更多信息: https ://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/
https://k8smeetup.github.io/docs/reference/generated/kubernetes-api/v1.9/