如何进行Kubernetes中Secret和私有仓库认证

Kubernetes中Secret的概述

在Kubernetes中,Secret是一种用于存储敏感信息的资源对象,例如密码、密钥、证书等,与ConfigMap不同,Secret以base64编码的形式存储数据,因此更适合存储敏感信息,Secret可以在Pod之间共享,也可以通过环境变量或卷挂载的方式在容器内使用,本文将介绍如何在Kubernetes中创建和管理Secret。

专注于为中小企业提供成都网站制作、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业嫩江免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

创建Secret

1、创建一个名为my-secret.yaml的文件,内容如下:

apiVersion: v1
kind: Secret
metadata:
  name: my-secret
type: Opaque
data:
  username: MTIzNDU2
  password: cGFzc3dvcmQ=

2、使用kubectl命令创建Secret:

kubectl create -f my-secret.yaml

3、查看已创建的Secret:

kubectl get secrets

使用Secret中的数据

1、在Pod的配置文件中引用Secret:

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  name: my-container
    image: my-image
    envFrom:
    secretRef:
        name: my-secret
    name: MY_ENV_VARIABLE
      valueFrom:
        secretKeyRef:
          name: my-secret
          key: username

2、在容器内使用环境变量访问Secret中的数据:

import os
username = os.environ['MY_ENV_VARIABLE']
password = os.environ['MY_OTHER_ENV_VARIABLE']

私有仓库认证在Kubernetes中的应用

1、在私有仓库中创建一个名为.dockerconfigjson的文件,内容如下(以Docker Hub为例):

{
  "auths": {
    "https://index.docker.io/v1/": {
      "auth": "dXNlcm5hbWU6cGFzc3dvcmQ=", // base64编码后的"dXNlcm5hbWU6cGFzc3dvcmQ=="字符串即为密码(这里假设已经存在)
      "email": "your@email.com", // Docker Hub用户邮箱地址(可选)
      "username": "your_username" // Docker Hub用户名(可选)

当前文章:如何进行Kubernetes中Secret和私有仓库认证
浏览地址:http://www.shufengxianlan.com/qtweb/news27/291927.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联