繁体   English   中英

Kubernetes:将mod_cluster替换为后端服务(反向代理)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM