问题标签 [csi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
173 浏览

docker - 澄清在 Kubernetes manifest 中使用 secretKeyRef 的安全性

我正在研究一个完全独立的问题,然后遇到了这个问题,这引起了一些担忧:

https://stackoverflow.com/a/50510753/3123109

我正在做一些非常相似的事情。我正在使用 Azure 的CSI 驱动程序将 Azure Kubernetes 服务与 Azure Key Vault 集成。我的集成清单类似于:

然后在微服务清单中:

然后在我的应用程序中settings.py

在我的文章中没有Dockerfile提到任何这些变量,只是 Django 微服务代码。

根据链接,其中一条评论是:

当前的最佳实践建议不要完全这样做。通过 docker 中的环境变量管理的机密很容易查看,不应被视为安全。

所以我第二次猜测这种方法。

我需要考虑修改我在这里的内容吗?

链接中的建议是os.environ[]调用从密钥库中提取凭据的方法...但是甚至访问密钥库的凭据也需要存储在机密中...所以我不是看看有什么不同。


注意:我注意到的一件事是使用env:和安装秘密到卷是多余的。后者是根据有关集成的文档完成的,但它使秘密可用,/mnt/secrets-store因此您可以执行类似cat /mnt/secrets-store/PROD-PGUSER. os.environ[]不是真的有必要,env:我不认为因为你可以从 Pod 中的那个位置提取秘密。

至少执行以下操作会打印出秘密值:

0 投票
1 回答
106 浏览

kubernetes - CSI sidecar 的最低权限

我正在使用 CSI 标准构建自己的 CSI 驱动程序,我想知道要为 CSI 边车容器设置的安全上下文。

我将使用:

  • 节点驱动注册器
  • CSI 供应商
  • CSI 附件
  • CSI 活性探针。

其中一些需要以 root 身份运行,我想知道安全上下文中的配置是否为它们分配了最小的 Linux 功能并确保在最短的时间内提供 root 功能。

我是否被迫按如下方式设置安全上下文?有没有办法进一步限制它?

在此先感谢,安东尼奥

0 投票
1 回答
20 浏览

kubernetes - CSI 驱动程序的 ClusterRole

我正在设计自己的 CSI 驱动程序,并且想知道用于 Kubernetes RBAC API 所需的角色。

问题是:我是否被迫定义指定 ClusterRole 的服务?

我做了一些试验,但我无法避免它。

提前感谢任何人的支持,安东尼奥

0 投票
2 回答
330 浏览

azure - 使用 CSI 驱动程序获取秘密后,未在 AKS 中创建秘密

通过使用https://docs.microsoft.com/en-us/azure/aks/csi-secrets-store-nginx-tls本文档的参考,我正在尝试将 TLS 机密从 AKV 获取到 AKS pod。最初,我使用User Assigned Managed Identity创建和配置CSI 驱动程序配置

我已经执行了以下步骤:

  • 创建具有 1 个节点池的 AKS 群集。
  • 创建 AKV。
  • 创建用户分配的托管标识并将其分配给节点池,即为 AKS 创建的 VMSS。
  • 在 AKS 的“kube-system”命名空间中安装了 CSI Driver helm chart 。并完成了执行此操作的所有要求。
  • 创建了 TLS 证书和密钥。
  • 通过使用 TLS 证书和密钥,创建 .pfx 文件。
  • 在名为"ingresscert"的 AKV 证书中上传了该 .pfx 文件。
  • 在 AKS 中创建了名为“ingress-test”的新命名空间。
  • 在该命名空间中部署的 secretProviderClass 如下:
  • 在同一个命名空间中部署了nginx-ingress-controller helm chart,其中证书与应用程序绑定。
  • 已部署的 Busy Box 部署如下:
  • 使用命令检查密钥是否创建

这里要注意的一件事是,如果我将 shell 与繁忙的盒子 pod 连接并转到我提供的用于挂载机密的挂载路径,我会看到那里已成功获取机密。但是这个秘密并没有显示在 AKS 的秘密列表中。

我已经对所有 AKS、KV 和清单文件进行了故障排除,但没有找到任何东西。如果我有什么遗漏或任何人对此有解决方案,请告诉我。

提前致谢..!!!

0 投票
0 回答
22 浏览

kubernetes - Kubernetes 节点描述中没有最大可附加卷

我有一些基于 kops 的 kubernetes 集群在 aws ec2 之上运行版本 1.21.7。该命令kubectl describe node <node-name>向我提供有关节点的信息,包括部分CapactityAllocatable

让我们记住我们attachable-volumes-aws-ebs在两个部分都有字段。

另外,我在云主机提供的 openstack 之上运行了 1.19.7 版的 kubeadm-deployed kubernetes-cluster。该命令kubectl describe node <node-name>具有以下输出:

它没有任何看起来像attachable-volumes-aws-ebs. 在我的基于 openstack 的集群中,我使用 cinder csi-plugin。我在云配置中添加了下一行,试图解决这个问题。

但什么都没有改变。我究竟做错了什么?

谢谢您的回答。

0 投票
1 回答
28 浏览

jenkins - 在 Kubernetes 中使用预先存在的卷进行部署

我正在尝试将预先存在的卷添加到我的一个部署中,以将持久数据用于詹金斯。我使用 hetzner cloud 作为云提供商,还使用 ​​sci 驱动程序来指向预先存在的卷。但我得到低于错误,

在此处输入图像描述

这是我的 volume.yml 文件

这是我的部署文件

有没有什么办法解决这一问题?

0 投票
1 回答
8 浏览

kubernetes - EFS CSI 挂载超时

我有一个 CSI 驱动器,它安装在我的 Kubernetes 集群中。另外,我在 ReadWriteMany 模式下为 EFS 创建了一个存储类。

当我启动多个 pod 时,无法将 efs 间歇性地挂载到节点。pod 中唯一的日志消息是 EFS mount Timeout。

CSI 驱动器 ds 或控制管理器中没有其他错误日志