【发布时间】:2017-03-24 15:54:46
【问题描述】:
我已经尝试了我能想到的所有可能的路径,但我无法将基本示例与 kubernetes 和 Go lang 一起使用。我对所有的 Godeps、gilde、govendor 都是新手,我会给自己一个,但即便如此我也不知道如何简单地获取示例文件中这样引用的这个包 -
"k8s.io/client-go/1.4/kubernetes"
"k8s.io/client-go/1.4/pkg/api"
"k8s.io/client-go/1.4/tools/clientcmd"
确切地说,这就是这里写的 - https://github.com/kubernetes/client-go/tree/release-1.5
如何获得
您可以 go get 获取 client-go 的版本,例如 go get k8s.io/client-go/1.4/... 或者去获取 k8s.io/client-go/1.4/kubernetes。
现在当我这样做时。这是输出 -
警告:“k8s.io/client-go/1.4/...”匹配没有包无法加载 包:包。:没有可构建的 Go 源文件 /Users/shubhadeeproychowdhury/projects/go/src
虽然它在我的 GOPATH 中的 src 下一个名为 k8s 的目录中克隆了东西。
最后在同一个链接中,他们谈论了依赖管理和事情,他们指的是 client-do 目录下的目录 1.4。我在克隆的 k8s 目录中的任何地方都看不到该目录。
我已经尝试安装基本软件包并运行示例代码两天了,但我做不到。我真的感到尴尬和奇怪。任何人都可以帮助我提供有关如何开始的清晰分步说明吗?
注意 - 1:我有几个其他的 Go 项目,到目前为止我还没有使用依赖管理。我不想为了尝试安装和使用这个项目而弄乱我的其他项目。我相信有办法。
注意 - 2:我找到了这个链接 - Samples on kubernetes golang client 但它没有向我解释如何克服主要障碍,在我的 Go 工作区中获取它并运行示例代码。
Kubernetes 人,如果您在听,请尽可能在您的文档中更详细一点。我很乐意帮忙,只是我现在不知道如何迈出第一步。
请帮忙
【问题讨论】:
-
来自主自述文件:
If you use go get to get client-go, you will get the unstable master branch! You can git checkout a stable branch.不使用任何依赖管理或供应商工具,只需在本地签出您想要的版本分支。正确的子目录将在那里。 -
我厌倦了。这就是我所做的@JimB - 1.> 我 git 克隆 repo (github.com/kubernetes/client-go),2.> 我获取了 release-1.5 分支,3.> 我 git checkout 到那个分支。你看问题依然存在。该分支的示例文件夹实际上是指从这个“k8s.io/client-go/1.4/”路径导入。它当然不存在,除非我亲自将 1.5(或 1.4)目录粘贴到一个新的目录树中,就像这样 - src/k8s.io 我觉得这很奇怪。我确信有一些方法。我只需要了解/获取一步一步的说明即可开始。
-
听起来很奇怪,像我上面所说的那样在目录树中手动复制该文件夹似乎有效。我不确定,我还得好好测试一下。
-
它就是这样工作的。一旦我手动创建了该目录树,govendor 也可以完美运行!我不确定我是否遗漏了某些东西,或者实现中存在尚未反映在文档中的重大更改,或者更改已正确反映,但代码库不起作用,或者......我和你一样有点困惑可以看到。但至少我可以按照我在第一条评论中描述的方式让它发挥作用。
-
您根本不应该更改 k8s.io 包代码。如果示例是为 1.4 分支编写的,则检查 1.4 分支。通过将 1.5 分支复制到 1.4 目录,您将破坏这些版本之间所做的任何 API 更改。
标签: go client kubernetes