我正在使用AWS的EKS,它是Kubernetes v1.10,我正在使用client-go v7.0.0。
我想做的是解析一个.yml文件,其中包含多个Kubernetes资源定义,并将这些资源提交到Kubernetes API。我可以使用此代码scheme.Codecs.UniversalDeserializer().Decode
成功解析文件,并获得runtime.Object
数组。
我知道所有Kubernetes资源都符合runtime.Object
接口,但我找不到一种将通用接口提交给API的方法。我看到的大多数方法都使用具体类型(如Deployment、Pod等)上的方法。
我看到有些代码使用类似于此的通用RESTClient:clientset.RESTClient().Put().Body(obj).Do()
,但那并不起作用,我也搞不清楚。
我知道我的clientset已正确配置,因为我可以成功列出所有Pod。
Put()
方法仅用于更新调用。此外,您需要使用clientset.RESTClient().Put().Namespace(ns).Resource(resource_type).Name(name).Body(obj).Do()
。 - Shudipta Sharma