首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

kubernetes-client的使用--java中提交argo工作流(3)

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);
返回列表