【发布时间】:2019-04-19 20:53:36
【问题描述】:
我正在使用 AWS 的 EKS,它是 Kubernetes v1.10,我正在使用 client-go v7.0.0。
我要做的是解析一个文件中包含多个 Kubernetes 资源定义的 .yml 文件,并将这些资源提交给 Kubernetes API。我可以使用此代码 scheme.Codecs.UniversalDeserializer().Decode 成功解析文件,并返回一个 runtime.Object 数组。
我知道所有的 Kubernetes 资源都符合runtime.Object 接口,但是我找不到将通用接口提交给 API 的方法。我见过的大多数方法都使用具体类型的方法,如 Deployment、Pod 等。
我已经看到了一些围绕通用 RESTClient 的代码,例如 clientset.RESTClient().Put().Body(obj).Do(),但这不起作用,我无法弄清楚。
我知道我的客户端配置正确,因为我可以成功列出所有 Pod。
【问题讨论】:
-
Put()仅用于更新调用。此外,您需要clientset.RESTClient().Put().Namespace(ns).Resource(resource_type).Name(name).Body(obj).Do()。
标签: kubernetes kubernetes-apiserver client-go