Rancher-API使用珠玑
来源:互联网 发布:手机淘宝不能照片搜索 编辑:程序博客网 时间:2024/05/18 15:25
功能
使用 rancher-api 能带来什么:
- 可以自定义 rancher-UI
- 可以在自有的业务系统中触发对 rancher 的各种操作
- 可以定制一些自己的自动化脚本
分类
Rancher-api 目前包括两大类:
- http:///v1 主要服务的 api
- http:///v1-catalog 分离出来的catalog api
在已经登录 Rancher UI 的情况下,直接访问上面的地址就可以看到 API 页面。
语言
在实际的开发中,我们更喜欢调用 Client SDk 来使用 API,Rancher 提供了以下几种语言的Client:
- Python:gdapi-python / cattle-cli
- Golang:go-rancher
- Java:gdapi-java-server
认证方式
1. 使用 jwt-token
向 v1/token 发送 post 请求生成 token:
然后把 token 设置到 cookie 中,在浏览器端后续请求会自动带上 token,目前 rancher UI 使用的是这种方式。
2. 使用api key (access_key & access_secret)
Api key 的生成
此处有两种key:作用域在某个env下的env-key,和作用域在该用户下所有env下的global-key。
这里 advanced options UI 上默认是不展开的。
生成好的 api key,配合 cattle-cli/gdapi 之类的 client 库就可以使用。
3. 使用Basic auth方式
这种方式同样需要api key,但是使用方式略不一样,先对 api key 进行编码 Base64.encode(“key: secret”)
为什么要提这种方式?
因为目前 catalog api 还不能用 client lib 直接调用,但是可以用这种方式调用。
Rancher 的高级选项
在 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/api-spec/blob/master/specification.md
其中的语义定义和 api 的组织结构等,都是值得学习的。
另外 api-v2 之前也启动过https://github.com/rancher/v2-api,但是后来由于 GA 发布和多编排引擎的支持,这件事暂时搁置了,相信不久后会重启 v2 的开发,V2 版本是基于Golang的。
最后提醒大家需要注意的是,v1版本的api的语义和UI上有歧义,rancher-docs 里也有提到这部分。
原文来源:Rancher Labs
- Rancher-API使用珠玑
- rancher UI 使用
- 使用rancher管理docker
- 使用Rancher 安装K8S
- rancher安装和使用
- rancher安装和基本使用
- rancher安装和基本使用
- 使用Rancher-Gen动态更新配置文件
- Rancher 1.5解读:企业级使用,ready!
- 使用Rancher搭建K8S环境的准备工作
- 使用Rancher搭建K8S测试环境
- docker容器管理(使用rancher)
- Rancher中的容器如何使用固定的IP地址?-使用io.rancher.container.requested_ip标签
- 编程珠玑--第一章使用位图
- [心得] Linux使用技巧珠玑
- 使用Docker和Rancher运行你自己的ELK环境。
- 使用Rancher在Kubernetes上进行微服务部署
- 强力优化Rancher k8s中国区的使用体验
- mysql中tinyint(1)和zerofill是什么意思
- java学习-基础(3)
- Objective-C文字加阴影方法总结
- equals == 和compare to
- 枚举Enmu
- Rancher-API使用珠玑
- 管道命令和xargs的区别(经典解释)
- RedHat9中如何安装gcc
- Android底部导航栏组件:BottomNavigationBar
- Apache官网搭建HTTP服务器的例子
- FTP文件传输协议两种方式的工作原理
- vmware虚拟机Linux(redhat)上用户密码忘记了怎么办?
- <转>Spark 学习笔记:MLlib基础
- CAP和BASE理论