- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编辑:发现问题。我没有安装 secret 驱动程序的插件。一旦安装,我就能让它工作
我在这里面临一个问题,我不知道我还能尝试什么来解决这个问题。
我有一个 aks 与一个运行基本 Web 应用程序的 pod 一起运行 todo list
。没有什么太花哨或复杂的。我在这里尝试做的是授予 aks 集群访问 keyvault 的权限和 GET
传递给 pod 的 secret 。 secret 只是一个ASPNETCORE_ENVIRONMENT: Development
.
按照文档,我使用 helm 安装存储库:
helm repo add csi-secrets-store-provider-azure https://azure.github.io/secrets-store-csi-driver-provider-azure/charts
helm install csi csi-secrets-store-provider-azure/csi-secrets-store-provider-azure
我在azure中创建了一个服务原则: SERVICE_PRINCIPLE_CLIENT_SECRET = az ad sp create-for-rbac --skip-assignment --name sp-aks-keyvault
我查询了 clientId 和 Secret 并将它们传递到我的集群,如下所示:
kubectl create secret generic secrets-store-creds --from-literal clientid="ClientID" --from-literal clientsecret="Password"
一切设置完毕后。我设置了这些部署。
部署.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: webapp-deployment
namespace: default
labels:
app: webapp
spec:
replicas: 1
selector:
matchLabels:
app: webapp
template:
metadata:
labels:
app: webapp
spec:
containers:
- name: webapp
image: dockerimage-acr
ports:
- containerPort: 80
env:
- name: ASPNETCORE_ENVIRONMENT
valueFrom:
secretKeyRef:
name: aspenet-environment
key: environment
securityContext:
allowPrivilegeEscalation: false
volumeMounts:
- name: secrets-mount
mountPath: "/mnt/secrets-store"
readOnly: true
restartPolicy: Always
volumes:
- name: secrets-mount
csi:
driver: secrets-store.csi.k8s.io
readOnly: true
volumeAttributes:
secretProviderClass: "kv-name"
nodePublishSecretRef: # Only required when using service principal mode
name: secrets-store-creds
还有我的secretProvider.yaml
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: keyvault-secret-class
namespace: default
spec:
provider: azure
secretObjects:
- secretName: aspenet-environment
type: Opaque
data:
- objectName: aspnetcoreenvironment
key: environment
parameters:
usePodIdentity: "false"
useVMManagedIdentity: "false"
userAssignedIdentityID: ""
keyvaultName: "mykeyvault-name"
objects: |
array:
- |
objectName: aspnetcoreenvironment
objectType: secret
objectVersion: ""
tenantId: "<Tenant-Id>"
在我的 keystore 中,我为创建和分配的服务原则提供了访问策略 Secret Permissions: GET
并创建了一个名为
Name: aspnetcoreenvironment
value: Development
到目前为止一切都很顺利,但是当我运行部署时。并使用命令 kubectl describe pod <podname>
我看到错误,它阻止容器启动
Warning Failed 8s (x3 over 21s) kubelet Error: secret "aspenet-environment" not found
我尝试了不同的解决方案,但没有任何效果。如果我运行命令 kubectl get secretproviderclass
我拿回了我创建的提供商。据我了解,如果没有服务需要特定的 secret ,如果我运行命令:kubectl get secret
,我将无法找到我想要创建的 secret 。
我猜这是正确的,因为我的 Pod 没有启动。
关于我做错了什么或如何解决它有任何帮助或启示吗?
非常感谢大家
编辑:我发现仍然需要进行一些额外的调试。所以我确实将卷添加到了部署中。但这仍然给出错误。
正如我所意识到的,问题是。当我运行命令 kubectl apply -f secretProviderClass.yml
时,根本没有创建任何 secret ,原因是失败。所以我认为这里有些问题。应用 SecretProviderClass 不应自动创建 secret
服务?
最佳答案
SecretProviderClass 对象的创建不会自动在 kubernetes 中创建 key 。仅当集群内有实际的 pod 正在使用定义的 SecretProviderClass 运行时,才会创建 secret
对象。
此行为记录在: https://learn.microsoft.com/en-us/azure/aks/csi-secrets-store-driver
将装载的内容与 Kubernetes key 同步
您可能想要创建一个 Kubernetes key 来镜像已安装的 key 内容。您的 secret 将在您启动 pod 来安装它们后同步。当您删除使用 key 的 Pod 时,您的 Kubernetes key 也将被删除。
关于azure - Aks SecretProviderClass 未找到 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75097851/
我正在尝试在我的 minikube 上启动并运行 keycloak。 我正在安装keycloak helm upgrade -i -f kubernetes/keycloak/values.yaml
我将我的数据库密码存储到AWS密钥管理器的Secret Value字段中。如果我使用以下代码,如何检索密码值?。在密钥管理器中定义的密钥:密钥在密钥管理器中定义的值:DBPwd。当我写入日志文件时,上
I am storing my database password into the Secret value field in the aws secret manager. How do I
我正在尝试在 AWS CDK 上组合一个相对简单的堆栈,其中涉及来自 aws-ecs-patterns 的 ApplicationLoadBalancedFargateService。 我的问题涉及
今天我在悠闲地阅读时偶然发现了 Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryp
不是一个真正的编程问题,但很想知道 Kubernetes 或 Minikube 如何管理 secret 并在多个节点/pod 上使用它? 假设我创建了一个 secret 来使用 kubectl 提取图
我需要从 AWS dynamoDB 和第三方 https 服务中获取元素并将这些结果合并到 AWS appSyn 中并将结果作为 graphQL 响应发回 我正在使用的第三方服务需要客户端证书。我没有
我收到一个错误: gpg: no default secret key: No secret key gpg: [stdin]: clearsign failed: No secret key GPG
我正在尝试为 kubernetes 集群设置私有(private) docker 镜像注册表。我正在关注 link $ cat ~/.docker/config.json | base64 ew
当我开发一个API服务器时,我需要给API服务器一些账户信息,这些信息不应该给任何人看。K8s对这种情况推荐secret,所以我用了。 但我想知道这个 secret 是否真的是 secret 。 se
在大多数有关在 Kubernetes 中使用 secret 的示例中,您都可以找到类似的示例: apiVersion: v1 kind: Secret metadata: name: mysecr
我正在与 terraform 合作,在 azure 中启动不同的资源。其中一些资源包含敏感数据,我希望将其安全地存储在 aws Secret Manager 中。这在 Terraform 中是可行的过
我有带有有效 key 的 Azure 应用程序注册。 我正在尝试使用 v1.0 获取 token ,如下所示(clientId 是上述应用程序注册的 ID) $body = @{ grant_
本文讨论如何安装 secret 卷。 https://learn.microsoft.com/en-us/azure/container-instances/container-instances-v
我正在使用 kubernetes 将 Rails 应用程序部署到谷歌容器引擎。 遵循 kubernetes secret 文档:http://kubernetes.io/v1.1/docs/user-
我正在与 terraform 合作,在 azure 中启动不同的资源。其中一些资源包含敏感数据,我希望将其安全地存储在 aws Secret Manager 中。这在 Terraform 中是可行的过
我有带有有效 key 的 Azure 应用程序注册。 我正在尝试使用 v1.0 获取 token ,如下所示(clientId 是上述应用程序注册的 ID) $body = @{ grant_
本文讨论如何安装 secret 卷。 https://learn.microsoft.com/en-us/azure/container-instances/container-instances-v
我有一个 python 脚本,它在 AWS 中创建一些访问 key 并将它们存储在 secret 管理器中。 但是,当我存储 key 时,我收到一条错误消息: The secret value can
我在 Secrets Manager 控制台上创建了一个 key 。然后我尝试使用 Go 代码 quickstart guide喜欢 ctx := context.Background() clien
我是一名优秀的程序员,十分优秀!