2019-11-11 kubernetes 如何通过SDK配置traefik2.0 ingressroutes对象

traefik2.0从ingress转用ingressroutes啦!

1.可能是因为官方没GA得原因(等下个版本合并在core对象吧)

2.可能是目前ingress定义的对象没法实现traefik2.0强大的功能。

如果不用api就只能kubectl命令建对象啦,kubectl找不到新建自定义对象入口的同学请移步源码区 kubectl_custom_func

https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/cmd.go

因为要做持续发布,所以每次手动用kubectl命令是行不通的。搞了几个小时想着再找不到就kubectl封装成接口,最后traefik官网有点坑,提示用的还是Core/ingress对象,后来凭借直觉在kubernetesCRD找到访问自定义对象的方法了

直入正题

kubernetes-client我用的是python 的SDK,从default custom没找到对象

kubectl get ingressroute -v=6

打开调试模式

坑爹/apis/traefik.containo.us/v1alpha1 一看就是跟生产不太有缘的接口。但我也没决定用这么高级的功能

只加个路由不至于出BUG吧(替代traefikV1版本),还是可以先上的,懒得维护两套traefik。因为后期上网格服务还会重新审视一遍各种控制器

在官网文档找到kubernetesCRD功能


找到啦,可是怎么访问对象

Kubernete Get CustomResourceDefinition,秉着kubernetes 的设计理念,Everything is Object。

从代码找到CustomObjectsAPI,

kubernetes.client.CustomObjectsApi().create_namespaced_custom_object(body=) 到这儿自己看一下文档就好了,填上自己要访问的对象和body

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容