创建自定义 Kubernetes 资源
创建自定义 Kubernetes 资源,例如如 KongPlugin 示例所示,使用 RESTClient() 方法指定资源的路径。您可以使用 Fluent 界面:
<code class="go">data, err := clientset.RESTClient(). Get(). AbsPath("/apis/<api>/<version>"). Namespace("<namespace>"). Resource("kongplugins"). Name("kongplugin-sample"). DoRaw(context.TODO())</code>
或者手动指定路径:
<code class="go">data, err := clientset.RESTClient(). Get(). AbsPath("/apis/<api>/<version>/namespaces/<namespace>/kongplugins/kongplugin-sample"). DoRaw(context.TODO())</code>
您可以在自定义资源的自链接中找到 AbsPath。
获取自定义 Kubernetes 资源
类似地,要获取自定义 Kubernetes 资源,请使用 RESTClient() 方法指定资源的路径。使用 json 包编组要发布的数据,并使用 Body() 方法发送数据:
<code class="go">kongPlugin := &KongPlugin{ TypeMeta: metav1.TypeMeta{ APIVersion: "<api>/<version>", Kind: "KongPlugin", }, ObjectMeta: metav1.ObjectMeta{ Name: "kongplugin-sample", Namespace: "<namespace>", }, ...}} body, err := json.Marshal(kongPlugin) data, err := clientset.RESTClient(). Post(). AbsPath("/apis/<api>/<version>/namespaces/<namespace>/kongplugins"). Body(body). DoRaw(context.TODO())</code>
注意,Body() 方法的参数是一个空接口,允许您使用根据 Kubernetes 文档,不同类型的参数。
以上是如何使用 RESTClient 创建和获取自定义 Kubernetes 资源?的详细内容。更多信息请关注PHP中文网其他相关文章!