Kubernetes Ingress状态上报机制
文章目录
获取Ingress状态信息
使用kubectl get ingress
命令在获取Ingress
信息时
|
|
你有没有留意ADDRESS
列的含义是什么?它是如何来的?能不能修改?
这其实是靠Ingress
状态的上报机制来实现的。
Ingress 状态上报原理
官方的nginx-ingress-controller
默认启动参数大概是这样:
|
|
其中--publish-service
参数的作用就是用来上报状态用的。
它的完整代码在这里 ,其中主要逻辑在statusAddressFromService
这个函数:
|
|
函数逻辑也很简单,根据--publish-service
指定Service的类型获取对应的IP
或Hostname
,然后把信息上报给API Server:
|
|
如何自定义上报时的IP
如果想自定义Ingress
上报时的IP
也很容易,给nginx-ingress-controller
加上--publish-status-address
启动参数就行。
Argument | Description |
---|---|
–publish-status-address string | Customized address to set as the load-balancer status of Ingress objects this controller satisfies. Requires the update-status parameter. |
参考
https://github.com/nginxinc/kubernetes-ingress/blob/master/docs/report-ingress-status.md
https://kubernetes.github.io/ingress-nginx/user-guide/cli-arguments/
文章作者 XniLe
上次更新 2023-10-10