有没有办法在Kubernetes中执行基于名称的路由

有没有办法在Kubernetes中执行基于名称的路由,kubernetes,Kubernetes,我们正在尝试将一组webapps停靠在以HA(节点1和节点2)配置托管的jbosswildfly服务器上。JBoss服务器前面有一个F5负载平衡器服务器,执行基于粘性会话的负载平衡。因此,就F5而言,它只监听一个端口(443),并将请求转发给JBoss节点1或节点2。因此,F5不需要任何关于JBoss服务器上托管的独立应用程序(例如&)的信息 现在,我们将每个Web应用程序停靠到自己的容器中,并包装成Kubernettes吊舱。在Kubernettes服务层上,每个应用程序(/app1和/app

我们正在尝试将一组webapps停靠在以HA(节点1和节点2)配置托管的jbosswildfly服务器上。JBoss服务器前面有一个F5负载平衡器服务器,执行基于粘性会话的负载平衡。因此,就F5而言,它只监听一个端口(443),并将请求转发给JBoss节点1或节点2。因此,F5不需要任何关于JBoss服务器上托管的独立应用程序(例如&)的信息

现在,我们将每个Web应用程序停靠到自己的容器中,并包装成Kubernettes吊舱。在Kubernettes服务层上,每个应用程序(/app1和/app2)都托管在不同的端口上。因此每个应用程序都有自己的端口

我有哪些负载平衡体系结构选项?您能给我介绍一些相关的阅读材料吗? 1) F5能否以某种方式使用关于哪个URL上下文路径(/app1或/app2)的元数据,并将其路由到Kubernettes服务层上的适当端口?
2) 如果F5无法在F5上执行任何基于上下文路径的路由,那么可以通过一些Kuberneetes配置来执行此应用程序到端口的路由吗?

为此,您可能需要入口控制器。您可以通过以下方式获得有关入口控制器的详细信息:

在Kubernetes服务层上,每个应用程序(/app1和/app2)都托管在不同的端口上。因此每个应用程序都有自己的端口 下面给出的示例适用于入口控制器,考虑到app1的服务名称为app1 svc,app2的服务名称为app2 svc

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: foo-https
  annotations:
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.ingress.kubernetes.io/secure-backends: "true"
spec:
  tls:
   - hosts:
     - domain.name
  rules:
  - host: domain.name 
    http:
      paths:
      - path: /app1
        backend:
          serviceName: app1-svc
          servicePort: 443
      - path: /app2
        backend:
          serviceName: app2-svc
          servicePort: 443

为此,您可能需要入口控制器。您可以通过以下方式获得有关入口控制器的详细信息:

在Kubernetes服务层上,每个应用程序(/app1和/app2)都托管在不同的端口上。因此每个应用程序都有自己的端口 下面给出的示例适用于入口控制器,考虑到app1的服务名称为app1 svc,app2的服务名称为app2 svc

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: foo-https
  annotations:
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.ingress.kubernetes.io/secure-backends: "true"
spec:
  tls:
   - hosts:
     - domain.name
  rules:
  - host: domain.name 
    http:
      paths:
      - path: /app1
        backend:
          serviceName: app1-svc
          servicePort: 443
      - path: /app2
        backend:
          serviceName: app2-svc
          servicePort: 443

谢谢分享信息。将进一步探索。感谢分享信息。我们将进一步探讨。