[英]Kubernetes: Replace mod_cluster for back end services (reverse proxy)
我正在将当前的服务迁移到Kubernetes。 当前,后端服务是通过mod_cluster解决的。 mod集群管理器在httpd上运行,并且mod_cluster客户端在启动时自动向httpd / mod_cluster管理器注册其Web上下文
user-->ingress-rule--> httpd [running mod_cluster manager]--> Jboss[mod_cluster clients]
我通过以下入口规则解析我的UI
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: httpd
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
spec:
rules:
- host: myk8s.myath.myserv.com
http:
paths:
- path: /
backend:
serviceName: httpd
servicePort: 443
tls:
- hosts:
- myk8s.myath.myserv.com
这可以很好地工作,解析UI,可以登录并解析所有静态内容等。
Mod群集公开服务,例如myservice
。 我禁用了mod_cluster并创建了一个Kubernetes服务myservice
,该服务解析到后端Pod,以为Ingress规则可以将请求发送到httpd,然后httpd可以通过Kubernetes解析后端服务,但是我可以得到404无法解决myservice
可以通过以下反向代理规则来解析服务,但这不是首选解决方案
# Redirect to myjbossserv
ProxyPass /myservice/services/command/ http://myjbossserv:8080/myservice/services/command/ <-----myjbossserv is a service registered in kubernetes
ProxyPassReverse /myservice/services/command/ http://myjbossserv:8080/myservice/services/command/
任何帮助,不胜感激
解决此问题的最简单方法是:满足所有HA和健壮性用例的是使用反向代理规则。 有多种配置方式,例如在映像生成时或通过配置映射...
# Redirect to myjbossserv
ProxyPass /myservice/services/command/ http://myjbossserv:8080/myservice/services/command/ <-----myjbossserv is a service registered in kubernetes
ProxyPassReverse /myservice/services/command/ http://myjbossserv:8080/myservice/services/command/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.