建议先关注、点赞、收藏后再阅读。
以base64编码的任意数据。它们是最常见的Secret类型,可以存储任何凭据,如用户名密码、API密钥或TLS证书。
apiVersion: v1 kind: Secret metadata: name: my-secret type: Opaque data: username: dXNlcm5hbWU= password: cGFzc3dvcmQ=
用于自动绑定到Pod中的ServiceAccount。Kubernetes会自动为Pod中所使用的ServiceAccount生成一个令牌,可以通过此令牌来与API服务器进行认证和授权。
apiVersion: v1 kind: ServiceAccount metadata: name: my-service-account --- apiVersion: v1 kind: Secret metadata: name: my-service-account-token annotations: kubernetes.io/service-account.name: my-service-account type: kubernetes.io/service-account-token
用于存储TLS证书和密钥。TLS证书可以用于通过HTTPS提供服务,或用于与其他服务进行安全通信。
apiVersion: v1 kind: Secret metadata: name: tls-secret type: kubernetes.io/tls data: tls.crt: <base64-encoded-certificate> tls.key: <base64-encoded-key>
用于存储Docker认证配置,以便在使用私有Docker镜像库时进行身份验证。
apiVersion: v1 kind: Secret metadata: name: docker-secret type: kubernetes.io/dockercfg data: .dockerconfigjson: <base64-encoded-config-json>
注意:以上示例中的base64编码值是为了方便演示,实际使用时需要进行正确的base64编码。
这些Secrets可以通过Kubernetes API Server进行创建和管理,并可以在Pod、Deployment、StatefulSet等资源中引用和使用。例如,可以通过将Secret挂载为volume或注入到Pod的环境变量中,来将凭据传递给应用程序。