2016-11-10 56 views
0

我尝试了所有可能的路径,我可以想到,我无法将基本示例与kubernetes和Go lang一起使用。我是新来的所有godeps,吉尔德,govendor的事情,我会给自己说,但即使如此,我不知道我怎么可以简单地得到这个包,它就像这个例子的文件中引用 -无法获得客户端 - 从k8s

"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

如何获得它

你可以得到得到释放客户端去,例如,去获得 k8s.io/client -go/1.4/...或去获取k8s.io/client-go/1.4/kubernetes。

现在当我这样做。这是输出 -

警告:“k8s.io/client-go/1.4/......”不匹配的包无法加载 包:在 /用户没有可建造转到源文件:包。/shubhadeeproychowdhury/projects/go/src

尽管它在我的GOPATH中的src下的一个名为k8s的目录中克隆了一些东西。

最后在相同的链接中他们谈论依赖关系管理和事物,它们指向client-do目录下的目录1.4。我无法在克隆的k8s目录中的任何地方看到该目录。

我一直在试图安装基本软件包并运行两天的示例代码,现在我不能。我真的感到尴尬和奇怪。任何人都可以帮助我一步一步的指导如何开始?

注 - 1:我还有其他几个Go项目,至今我还没有使用过依赖管理。我不想搞乱我的其他项目,试图安装和使用这个项目。我相信有办法。

注 - 2:我发现这个链接 - Samples on kubernetes golang client但它并没有向我解释如何克服主要障碍,让它在我的Go工作区中并运行示例代码。

Kubernetes人,如果你在听,请尽可能在你的文档中稍微详细一点。我很乐意帮助你,这只是我不知道如何在这个时间点迈出第一步。

请帮忙

+0

来自主README:'如果你使用go get client-go,你会得到不稳定的主分支!你可以结账一个稳定的分支。' 不使用任何依赖管理或销售工具,只需在本地签出你想要的版本分支。正确的子目录将在那里。 – JimB

+0

我累了。这就是我做@JimB - 1.>我git克隆回购(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中,我觉得这很奇怪。我确信有一些方法。我只需要了解/获得一步一步的指示即可开始。 – SRC

+0

非常奇怪,它可能听起来像在我上面说的似乎在工作,在目录树中手动复制该文件夹。我不确定,我必须正确测试它。 – SRC

回答

2

我自己也有同样的问题。以前所有我需要做的是go get k8s.io/client-go/1.4/kubernetes,我很好去。现在失败了:

package k8s.io/client-go/1.4/kubernetes: cannot find package "k8s.io/client-go/1.4/kubernetes" in any of: 

尽管文档中提到使用包管理工具,但我不想使用它们,因为Go本身已经有供应商目录。我能够通过这样做来解决问题:

  1. 在您的项目根目录中创建vendor目录。
  2. 在供应商目录下创建k8s.io目录。这是为了解决库自身的引用问题。
  3. k8s.io目录做git clone https://github.com/kubernetes/client-go.git
  4. client-go目录做git checkout v1.5.0(或你想要的版本)。结帐很重要,因为v1.4/v1.5只在特定的提交中。主人例如不再有这些。
  5. 在你的项目导入与k8s.io/client-go/1.5/kubernetes
+0

我最终做了什么,我在我的评论中试图解释的内容正是类似的过程。虽然我克隆并检查了与供应商不同的目录中的repo,然后使用govendor并且可以检测到它(正如您提到的那样,正确的目录树存在),然后在我的供应商目录中将其复制给我。但你的方法也很好。因为这是一步一步的指导,所以最好理解。希望这能帮助那些陷入同样问题的人。 – SRC

0

做滑翔得到[包名],假设你已经拥有了目前glide.yaml。 在你的情况滑翔得到k8s.io/client-go/1.4/kubernetes应该做的伎俩。