使用 rancher-api 能带来什么:java
能够自定义 rancher-UIpython
能够在自有的业务系统中触发对 rancher 的各类操做git
能够定制一些本身的自动化脚本github
Rancher-api 目前包括两大类:docker
http://<server>/v1 主要服务的 apishell
http://<server>/v1-catalog 分离出来的catalog api数据库
在已经登陆 Rancher UI 的状况下,直接访问上面的地址就能够看到 API 页面。api
在实际的开发中,咱们更喜欢调用 Client SDk 来使用 API,Rancher 提供了如下几种语言的Client:浏览器
Python:gdapi-python / cattle-clicookie
Golang:go-rancher
Java:gdapi-java-server
向 v1/token 发送 post 请求生成 token:
而后把 token 设置到 cookie 中,在浏览器端后续请求会自动带上 token,目前 rancher UI 使用的是这种方式。
Api key 的生成
此处有两种key:做用域在某个env下的env-key,和做用域在该用户下全部env下的global-key。
这里 advanced options UI 上默认是不展开的。
生成好的 api key,配合 cattle-cli/gdapi 之类的 client 库就可使用。
这种方式一样须要api key,可是使用方式略不同,先对 api key 进行编码 Base64.encode(“key: secret”)
为何要提这种方式?
由于目前 catalog api 还不能用 client lib 直接调用,可是能够用这种方式调用。
在 V1/setting 下面,有不少可配置的高级选项,能够进行手动编辑。
能够修改 jwt token 的有效时间,默认是 16 小时内 token 有效。
Auditlog 是 Rancher 审计日志,通常频繁操做 Rancher 会致使 Auditlog 激增,Rancher 提供了以周期性的 purge 机制,能够根据本身数据库容量调整这个周期。
Rancher-compose 的各类下载地址,尤为是在国内能够把这个改为本身的地址,方便下载。
Rancher 私有网络的 cidr 也能够修改 :
Rancher 目前兼容 docker1.10.3,因此 Rancher 提供了一个安装该版本的 shell 脚本,这个脚本会在 Add Host 使用其余 driver 时用到,咱们能够把里面的内容源指定到国内,提升 dockerengine 的安装速度,从而快速部署 Host。
v1/settings 的高级功能等待你们细细挖掘,最后 Rancher-api有一个说明文档能够看这里:
https://github.com/rancher/ap...
其中的语义定义和 api 的组织结构等,都是值得学习的。
另外 api-v2 以前也启动过https://github.com/rancher/v2...,可是后来因为 GA 发布和多编排引擎的支持,这件事暂时搁置了,相信不久后会重启 v2 的开发,V2 版本是基于Golang的。
最后提醒你们须要注意的是,v1版本的api的语义和UI上有歧义,rancher-docs 里也有提到这部分。