0

我正在为 kustomize 创建自定义转换器。但是,我在创建最基本的 Go 插件时遇到了问题。我正在尝试在此处执行这些步骤https://github.com/kubernetes-sigs/kustomize/blob/master/docs/plugins/goPluginGuidedExample.md

我正在使用主线 kustomize 中的插件之一,即。secretsfromdatabase[1]

根据文档,我遵循的说明是:

tmpGoPath=$(mktemp -d)
GOPATH=$tmpGoPath go install sigs.k8s.io/kustomize/kustomize
GOPATH=$tmpGoPath go build -buildmode plugin -o SecretsFromDatabase.so SecretsFromDatabase.go
cp SecretsFromDatabase.so ~/.config/kustomize/plugin/mygenerators/sopsencodedsecrets/SopsEncodedSecrets

现在,当我运行 kustomize 时,出现以下错误:

Error: accumulating resources: recursed accumulation [...] fails to load: plugin.Open("$HOME/.config/kustomize/plugin/mygenerators/sopsencodedsecrets/SopsEncodedSecrets"): plugin was built with a different version of package internal/cpu

奇怪的是我在 git 中使用了与我系统上安装的版本相同的标签。

kustomize version                                                                                                                                                     tags/kustomize/v3.5.4^0
{Version:3.5.4 GitCommit:3af514fa9f85430f0c1557c4a0291e62112ab026 BuildDate:2020-01-17T14:23:25+00:00 GoOs:darwin GoArch:amd64}

[1] https://github.com/kubernetes-sigs/kustomize/tree/master/plugin/someteam.example.com/v1/secretsfromdatabase

4

1 回答 1

2

至于现在插件很难编写和支持,因为环境应该是相同的,实际上只有原始构建系统才能可靠地构建插件。结果,很多像你一样的人发现他们的构建环境几乎没有什么不同。我认为这是设计的坏主意,强烈建议在这里熟悉 Reddit 讨论

于 2020-05-21T21:30:38.897 回答