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

你可能感兴趣的:(2019-11-11 kubernetes 如何通过SDK配置traefik2.0 ingressroutes对象)