你好:
如果 Kubernetes 服务发现模块运行在集群外,
你需要:
1. 获取到 APIServer 的 Host, Port 地址
2. 新建 一个 有 ListWatch K8S Endpoints 的 ServiceAccount , 获取 其
Token 值 . 获取 Token 值的方法在你发送的文档链接有提及
3. 按如下格式填充配置
|discovery:kubernetes:service:schema:httpshost:# enter apiserver host
value hereport:# enter apiServer port value hereclient:token:# enter
serviceaccount token value here#token_file: # enter file path here|
Copy
需要提醒你的是, 如果 apisix 运行在集群外部, 通过 discovery 获取到的
pod ip 有可能无法访问 ( 视具体情况 )
尊敬的apisix开发团队您好:
我通过apisix官网文档:https://apisix.apache.org/docs/apisix/discovery/kubernetes
配置了外部独立的apisix 并希望通过此配置让外部独立的apisix能过直接list watch到kubernetes内部的entpoints 列表
但是我根据文档配置完后发现一直在报错 报错如下:
2022/06/02 15:53:40 [error] 29284#29284: *175 [lua]
informer_factory.lua:292: list failed, kind: Endpoints, reason: Bad
Request: missing required Host header, message : 400 Bad Request: missing
required Host header, context: ngx.timer
希望得到您的帮助