You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pulumi+Go部署OpenShift订阅清单时遇模块包不存在错误求助

问题解决思路

1. 修正包导入路径

pulumi-kubernetes v4 SDK中,OLM的Subscription资源属于operators.coreos.com/v1alpha1 API组,对应的Go包路径是github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/operator/v1alpha1,而非你使用的operators包。

修改代码中的导入语句:

import (
    "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/apiextensions"
    "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/operator/v1alpha1"
    "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

2. 调整代码中的类型引用

将原代码中所有operators.前缀的类型替换为v1alpha1.:

  • operators.NewSubscription → v1alpha1.NewSubscription
  • operators.SubscriptionArgs → v1alpha1.SubscriptionArgs
  • operators.SubscriptionSpecArgs → v1alpha1.SubscriptionSpecArgs

修改后的核心代码片段:

elasticsearchOperator, err := v1alpha1.NewSubscription(ctx, name, &v1alpha1.SubscriptionArgs{
    ApiVersion: pulumi.String("operators.coreos.com/v1alpha1"),
    Kind:       pulumi.String("Subscription"),
    Metadata: &apiextensions.ObjectMetaArgs{
        Name:      pulumi.String(name),
        Namespace: pulumi.String("openshift-operators"),
    },
    Spec: v1alpha1.SubscriptionSpecArgs{
        Channel:               pulumi.String("stable"),
        InstallPlanApproval:   pulumi.String("Automatic"),
        Name:                  pulumi.String("elasticsearch-operator"),
        Source:                pulumi.String("operatorhubio-catalog"),
        SourceNamespace:       pulumi.String("olm"),
        StartingCsv:           pulumi.String("elasticsearch-operator.v2.1.11"),
    },
}, pulumi.Protect(true))

3. 拉取正确的依赖

执行以下命令安装对应包:

go get github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/operator/v1alpha1

4. 验证版本兼容性

你使用的pulumi-kubernetes v4.9.1版本原生支持operators.coreos.com/v1alpha1 API组,无需调整版本。

内容的提问来源于stack exchange,提问作者Chandra Sekar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 21:57:50