由于工作原因,需要对openshift进行二次开发,初步研究了一下RESTful编程接口使用。
本部分内容借鉴了开源项目https://github.com/fabric8io/kubernetes-client,目前是引用开源项目的jar包对openshift集群进行操作。
demo工程放在了我的github上,地址为https://github.com/hu12081/openshiftDemo.git。
代码如下:
import io.fabric8.kubernetes.api.model.NamespaceList;
import io.fabric8.kubernetes.api.model.Namespace;
import io.fabric8.openshift.client.DefaultOpenShiftClient;
import io.fabric8.openshift.client.OpenShiftClient;
import io.fabric8.openshift.client.OpenShiftConfig;
import io.fabric8.openshift.client.OpenShiftConfigBuilder;
public class openshiftDemo {
public static void main(String[] args) {
OpenShiftConfig config = new OpenShiftConfigBuilder()
.withOpenShiftUrl("https://master.example.com:8443")
.withMasterUrl("https://master.example.com:8443")
.withUsername("dev")
.withPassword("dev")
.withTrustCerts(true).build();
OpenShiftClient client = new DefaultOpenShiftClient(config);
String token = client.oAuthAccessTokens().list().getItems().get(0).getMetadata().getName();
System.out.println("用户账号的token为:" + token);
//获取工程列表
NamespaceList myNs = client.namespaces().list();
//遍历打印工程名
for(Namespace ns: myNs.getItems())
System.out.println(ns.getMetadata().getName());
}
}
代码执行结果输出如下:
这里能够获取用户账号的token。
可以自己基于openshift官方RESTful编程接口进行二次开发,也可以直接使用开源项目fabric8io/kubernetes-client的jar包提供的功能进行开发,甚至可以修改开源项目fabric8io/kubernetes-client的源码。