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
网友评论