controller是什么
简单来说,controller就是监听kubernetes的配置/状态变化,自动对资源进行调节。比如kubernetes内置的controller有Deployment、StatefulSet、DaemonSet。
实现controller
这里我们实现一个简单的loadbalancer controller,使用kubernetes的client-go。
先创建一个新的Serivce,并且指定Type为LoadBalancer。
1 | apiVersion: v1 |
这时Service的状态还是pending,因为还没有controller为其分配IP地址。
创建新的client