这篇文章给大家介绍java怎么实现kubernates的api访问Fabric8,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<强>一、前言强>
java访问kubernates api的方式有很多,用java语言开发的有两种,一个是基于泽西的,一个是基于Fabric8。因为kubernates api服务器就是RESRFul Web服务,而泽是一个方便简化开发RESRFul Web服务的框架所以采用球衣会比较省力,但还是需要开发者自己做很多工作.Fabric8中的kubernates-client-1.3.83.jar, kubernates-model-1.0.12。jar等工具包包对kubernates api做了很好的封装,访问代码比较简单。
<强>二、使用说明强>
- <李>
准备好相关的jar包
李> <李>李> <李>
创建访问api服务器的客户端
代码参见三
李> <李>操作kubernates的各项资源
常用的资源(资源解释后续会加上):
节点名称空间
服务Replicationcontrollers
豆荚
事件Resourcequotas
可以通过api对以上资源做增删改查各种操作。
李>
<强>三,具体代码实现强>
<强> 1。创建访问k8 API服务器的客户端代码示例强>
配置配置=new ConfigBuilder () .withMasterUrl (“http://10.45.32.153:8080”) .build ();
KubernetesClient客户=new DefaultKubernetesClient(配置);,
//http://10.45.32.153:8080,是API服务器的地址
<强> 2。查询k8资源的代码示例(每种资源的查询方式大同小异)强>
几乎所有的资源都可以查,现在我们以查询namesapce为例进行讲解。
查询所有的名称空间列表
List
根据条件查询名称空间
名称空间空间=client.namespaces () .withName (tenant.getAccount ()) . get ();
可以根据很多种条件进行过滤
3。创建资源示例代码(这是最核心的部分,每种资源的创建方式不同)
创建租户
名称空间ns=new NamespaceBuilder () .withNewMetadata ()
,,,,, .withName (tenant.getAccount ()) .endMetadata () .build ();
,,,//属性设置
,,,=https://www.yisu.com/zixun/new ObjectMeta ObjectMeta元数据();
,,, Map<字符串,String>标签=new HashMap<字符串,String> ();
,,, labels.put (“label1", tenant.getAccount ());
,,, metadata.setLabels(标签);
,,, metadata.setNamespace (tenant.getAccount ());
,,, metadata.setName (tenant.getAccount ());
,,, ns.setMetadata(元数据);
,,,//执行创建操作
,,, client.namespaces()共创(ns);
B创建结果
注释:该代码没有给名称空间设置配额
4。修改租户配额示例代码
5。删除租户示例代码
client.namespaces () .withName (tenant.getAccount ()) delete ();
关于java怎么实现kubernates的api访问Fabric8就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。