Azure Cloud 版本“secrets-store.csi.k8s.io/v1alpha1”中的类型“SecretProviderClass”没有匹配项

Syl*_*are 3 azure azure-security azure-secrets

我正在 azure 云中工作,想要使用 Azure Azure / Secrets-store-csi-driver-provider-azure中的文档添加一个简单的 ServiceProviderClass替换secret,keyvaultNametenantId

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  
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 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"
Run Code Online (Sandbox Code Playgroud)

似乎这种类型和版本不兼容,尽管它们在文档中随处可见。

Syl*_*are 6

问题其实很简单,就是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
Run Code Online (Sandbox Code Playgroud)

驱动程序Secrets-store-csi-driver-provider-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
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助。