无法让客户离开k8s

时间:2016-11-10 14:59:29

标签: go client kubernetes

我已经尝试了所有可能的路径,我可以想到,我无法将基本示例与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

  

如何获得

     

你可以去获取客户端的发布,例如,去获取   k8s.io/client-go/1.4 / ...或者去获取k8s.io/client-go/1.4/kubernetes。

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

  

警告:“k8s.io/client-go/1.4 / ...”匹配没有包无法加载   package:package。:没有可构建的Go源文件   /用户/ shubhadeeproychowdhury /项目/去/ SRC

虽然它克隆了我的GOPATH中src下名为k8s的目录中的内容。

最后在同一个链接中,他们讨论的是依赖关系管理和事物,它们引用了client-do目录下的目录1.4。我无法在克隆的k8s目录中的任何位置看到该目录。

我一直在尝试安装基本软件包并运行示例代码两天,我不能。我真的觉得很尴尬和奇怪。任何人都可以帮我详细说明如何开始使用吗?

注意 - 1:我还有其他几个Go项目,到目前为止我还没有使用过依赖项管理。我不想搞砸我的其他项目,以便尝试安装和使用这个。我确信有办法。

注意 - 2:我找到了这个链接 - Samples on kubernetes golang client但它没有向我解释如何克服主要障碍将其放入我的Go工作区并运行示例代码。

Kubernetes的人,如果你正在倾听,请尽可能在文档中更详细一些。我很乐意帮忙,只是因为我不知道如何在这个时候采取第三步。

请帮忙

2 个答案:

答案 0 :(得分: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(或您想要的版本)。 Checkout很重要,因为v1.4 / v1.5仅在特定提交中。例如,大师不再拥有这些。
  5. 在使用k8s.io/client-go/1.5/kubernetes
  6. 的项目导入中

答案 1 :(得分:0)

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