如何通过JAVA调用Rancher API
1.找到并进入Rancher的API文档
2.在进入的页面中找到projects项并进入
3.找到你集群下Project Namespace并确认你的Project名,然后在找到Project下的Deployments项进入
4.找到某个具体服务的API URL
5.创建用于调用API的认证TOKEN
注意,在选择Scope的时候选择具体某个Cluster时,在调用时会提示401没有权限,没有具体跟踪源码排查原因,不选择特定集群Scope即可。
6.JAVA 后台 API调用
可使用任意的Http请求工具进行https调用即可。
下面是一个get和put请求示例
值得注意的是,你需要将User-Agent的请求头覆写。 在你默认不填写该请求头时,你实际发送的https请求携带有浏览器标识user-agent ,这会导致rancher后台服务认为你是通过浏览器发起的api调用(我通过wireshark,发送http请求抓包验证了该结论),这时rancher会进行跨域访问校验,需要你提供跨域CSRF TOKEN。在这种情况下,你后台会提示”CSRFTOKEN Invalid“ (跨域校验限于PUT和POST类型请求)。
你可以参照我的方式,将User-Agent请求头覆写,这时rancher就不会认为你是浏览器用户而进行拦截。