如何使用 Pulimi 从 https://kubernetes-sigs.github.io/aws-efs-csi-driver/ 部署 AWS EFS CSI Driver Helm 图表

How do I deploy the AWS EFS CSI Driver Helm chart from https://kubernetes-sigs.github.io/aws-efs-csi-driver/ using Pulimi

我希望能够部署托管在 AWS EFS SIG Repo using Pulumi. With Source from AWS EFS CSI Driver Github Source 的 AWS EFS CSI Driver Helm 图表。我想避免使用 Pulumi 管理几乎所有的东西,除了我的基础设施的这一部分。

下面是我创建的用于管理与 k8s.helm.v3.Release class:

交互的 TypeScript class
import * as k8s from '@pulumi/kubernetes';
import * as eks from '@pulumi/eks';

export default class AwsEfsCsiDriverHelmRepo extends k8s.helm.v3.Release {
  constructor(cluster: eks.Cluster) {
    super(`aws-efs-csi-driver`, {
      chart: `aws-efs-csi-driver`,
      version: `1.3.6`,
      repositoryOpts: {
        repo: `https://kubernetes-sigs.github.io/aws-efs-csi-driver/`,
      },
      namespace: `kube-system`,
    }, { provider: cluster.provider });
  }
}

我尝试了上述代码的几种变体,删除名称中的 -driver,从 repo 属性 中删除 aws-cfs-csi-driver,更改为 latest 为版本。

当我执行 pulumi up 时,我得到:failed to pull chart: chart "aws-efs-csi-driver" version "1.3.6" not found in https://kubernetes-sigs.github.io/aws-efs-csi-driver/ repository

$ helm version
version.BuildInfo{Version:"v3.7.0", GitCommit:"eeac83883cb4014fe60267ec6373570374ce770b", GitTreeState:"clean", GoVersion:"go1.16.8"}
$ pulumi version
v3.24.1

您在图表调用中使用了错误的版本。

您选择的版本是应用程序版本,即底层应用程序的发布版本。您需要设置 Chart 版本,参见 here which is defined here

以下作品:

const csiDrive = new kubernetes.helm.v3.Release("csi", {
  chart: `aws-efs-csi-driver`,
  version: `2.2.3`,
  repositoryOpts: {
    repo: `https://kubernetes-sigs.github.io/aws-efs-csi-driver/`,
  },
  namespace: `kube-system`,
});

如果您想使用现有的代码,试试这个:

import * as k8s from '@pulumi/kubernetes';
import * as eks from '@pulumi/eks';

export default class AwsEfsCsiDriverHelmRepo extends k8s.helm.v3.Release {
  constructor(cluster: eks.Cluster) {
    super(`aws-efs-csi-driver`, {
      chart: `aws-efs-csi-driver`,
      version: `2.2.3`,
      repositoryOpts: {
        repo: `https://kubernetes-sigs.github.io/aws-efs-csi-driver/`,
      },
      namespace: `kube-system`,
    }, { provider: cluster.provider });
  }
}