Azure 云在版本 "secrets-store.csi.k8s.io/v1alpha1" 中没有匹配的种类"SecretProviderClass"



我在azure云中工作,想使用azure azure中的文档添加一个简单的ServiceProviderClass/秘密存储csi驱动程序提供商azure取代secretkeyvaultNametenantId

apiVersion: secrets-store.csi.x-k8s.io/v1alpha1
kind: SecretProviderClass
metadata:
name: azure-kvname
spec:
provider: azure
parameters:
usePodIdentity: "false"         # [OPTIONAL] if not provided, will default to "false"
keyvaultName: "kvname"          # the name of the KeyVault
cloudName: ""          # [OPTIONAL for Azure] if not provided, azure environment will default to AzurePublicCloud 
objects:  |
array:
- |
objectName: secret1
objectType: secret        # object types: secret, key or cert
objectVersion: ""         # [OPTIONAL] object versions, default to latest if empty
tenantId: "tid"                    # the tenant ID of the KeyVault  

当我尝试使用Azure Cloud Bash:将其应用于集群时

hacker@Azure:~$ kubectl apply -f secrets-provider.yaml
error: unable to recognize "secrets-provider.yaml.yaml": no matches for kind "SecretProviderClass" in version "secrets-store.csi.k8s.io/v1alpha1"

尽管文档上到处都是这种类型和版本,但它们似乎是不兼容的。

问题其实很简单,secret-store-csi-driver还没有安装。因此,它没有得到承认。基本上要确保你遵循预先要求。

从Azure云终端,您可以使用Helm安装驱动程序:

helm repo add secrets-store-csi-driver https://raw.githubusercontent.com/kubernetes-sigs/secrets-store-csi-driver/master/charts
helm install csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver

驱动程序机密存储csi驱动程序提供商azure#259存在一个持续的问题,对于azure,您需要显式指定--grpc-supported-providers=azure

现在它可以工作了:

hacker@Azure:~$ kubectl apply -f secrets-provider.yaml
secretproviderclass.secrets-store.csi.x-k8s.io/azure-kvname created
hacker@Azure:~$ kubectl get SecretProviderClass
NAME           AGE
azure-kvname   39s

希望这会有所帮助。

相关内容

  • 没有找到相关文章

最新更新