首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Azure密钥库(SecretProviderClass)中的秘密管理

Azure密钥库(SecretProviderClass)中的秘密管理
EN

Stack Overflow用户
提问于 2022-10-30 06:33:17
回答 1查看 98关注 0票数 0

我目前有以下的秘密管理配置。

代码语言:javascript
运行
复制
apiVersion: v1
kind: Secret
metadata:
  name: secret-tls
type: kubernetes.io/tls
data:
  # the data is abbreviated in this example
  tls.crt: |
        MIIC2DCCAcCgAwIBAgIBATANBgkqh ...
  tls.key: |
        MIIEpgIBAAKCAQEA7yn3bRHQ5FHMQ ...

这将是一个类似我所拥有的豆荚例子:

代码语言:javascript
运行
复制
apiVersion: v1
kind: Pod
metadata:
  name: secret-test-pod
spec:
  containers:
    - name: test-container
      image: nginx
      volumeMounts:
        # name must match the volume name below
        - name: secret-volume
          mountPath: /etc/secret-dir
  # The secret data is exposed to Containers in the Pod through a Volume.
  volumes:
    - name: secret-volume
      secret:
        secretName: secret-tls

我如何修改配置,以便将秘密存储在Azure中,这样当它们过期时,我已经将它们集中在azure中,并且不必通过"SecretProviderClass“进行任何带舵机的部署。

EN

回答 1

Stack Overflow用户

发布于 2022-11-02 10:41:43

我尝试在我的环境中复制相同的结果,并得到了以下结果:

我已经使用秘密对象将敏感数据(如tls.key、tls.cert )注入到荚中。

下面的命令生成两个文件tls.key,tls.cert

代码语言:javascript
运行
复制
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=foo.bar.com"

我们可以验证是否增加了秘密。

代码语言:javascript
运行
复制
kubeclt get secrets

查看该秘密的YAML来源

代码语言:javascript
运行
复制
kubectl get secret test-tls -o yaml

在这里,我使用了YAML文件来创建秘密

代码语言:javascript
运行
复制
vi filename.yaml

apiVersion: v1
data:
    tls.crt:LS0tLS1CRUdJTiBDRVJXXXXXX
    tls.key:S0tCk1JSUV2d0lCQXXXXXX
kind: Secret
metadata:
    name: test-tls
    namespace: default
type: kubernetes.io/tls

我使用以下命令创建/部署了该文件

代码语言:javascript
运行
复制
kubectl apply -f filename.yaml

我已经创建了使用pod YAML使用秘密值的资源。

代码语言:javascript
运行
复制
apiVersion: v1
kind: Pod
metadata:
  name: secret-test-pod
spec:
  containers:
    - name: test-container
      image: nginx
      volumeMounts:
        - name: secret-volume
          mountPath: /etc/secret-dir
  volumes:
    - name: secret-volume
      secret:
        secretName: secret-tls

我们可以检查使用下面命令创建或不使用的豆荚和秘密。

代码语言:javascript
运行
复制
kubectl get pods
kubectl get secrets

在这里,我使用envFORM来存储秘密

代码语言:javascript
运行
复制
vi envpod.yaml

apiVersion: v1  
kind: Pod  
metadata:  
    name: nginx-pod  
spec:  
    containers:  
    - name: nginx-container  
       image: nginx  
        envFrom:  
        - secretRef:  
             name: secret-tls

我们还可以使用下面的命令检查是否创建了秘密

代码语言:javascript
运行
复制
kubectl get secrets

注:

1).Azure有一个专门的驱动程序,它可以将蔚蓝的密钥库映射到机密,并允许秘密的滚动更新。

2)。最好的方法是使用CSI驱动程序(provider类)来安全地存储秘密,如果我们不想使用CSI驱动程序,另一个选项是外部秘密操作符,您可以为https://external-secrets.io/v0.6.1/guides/templating/使用这个链接

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74251010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档