kubernetes-client的使用--java中提交argo工作流(3)
- UID
- 1066743
|
kubernetes-client的使用--java中提交argo工作流(3)
获取资源操作类
client.namespaces()
client.services()
client.pods()
client.customResources()
client.storage()
client.network()
资源的CURD
创建:
Service service = client.services().inNamespace(namespace).create(service);
更新:
Namespace namespace = client.namespaces().withName(name).get();
//update resources
client.namespaces().createOrReplace(namespace);
查询:
ServiceList services = client.services().inNamespace("default").list();
Service service = client.services().inNamespace("default").withName("myservice").get()
删除:
client.services().inNamespace("default").withName("myservice").delete();
DSL内联方式操作
client.services().inNamespace("default").withName("myservice").edit()
.editMetadata()
.addToLabels("another", "label")
.endMetadata()
.done();
从外部文件中加载资源
有些情况下,你希望从外部源读取资源,而不是使用客户端的DSL来定义资源。比如我们有一些比较复杂的yml,不希望重新构建一遍。 对于这些情况,客户端允许你从以下位置加载资源:
一个文件 (支持 java.io.File 和 java.lang.String)
url
输入流
一旦资源被加载,你就可以对它进行创建。
例如让我们从yml文件中读取一个Pod,并创建它:
Pod refreshed = client.load('/path/to/a/pod.yml').fromServer().get();
Boolean deleted = client.load('/workspace/pod.yml').delete();
LogWatch handle = client.load('/workspace/pod.yml').watchLog(System.out); |
|
|
|
|
|