如何能够在同一个集群中使用多个域?
目前,我已经使用运行了一个集群,一个域指向一个硬件loadbalancer,traefik作为一个ingress-controller。
现在,我想添加指向不同工作负载/服务的第二个域。
我需要吗?
LoadBalancer的第二个ingress-controller (并将第二个域指向第二个LB)?LoadBalancer,仅使用一个LoadBalancer我是在问,因为当我将第二个域指向第二个Loadbalancer并将第一个域指向现有的ingress-controller (什么都没有发生)时遇到了问题,但是当我将我的第二个域指向第一个负载均衡器时,它似乎像预期的那样工作。
(我猜是:解"2")?
(我想保留一台进位控制器,以为我需要两台装载机)
这是否与被占领的443和80号港口有关?
谢谢
发布于 2021-08-05 20:06:06
具有第二个LoadBalancer的第二个入口控制器(并将第二个域指向第二个LB)?
没有不需要第二个LoadBalancer。您可以在入口控制器的支持下单个LB并映射多个域。
将第二个域指向相同的第一个LoadBalancer,以仅使用一个控制器?
是的,您可以使用单入口控制器,在DNS中为两个域添加A值的CNAME值。
从DNS,所有流量将被转发到LB,后者由入口控制器支持。
如果您使用的是Nginx入口控制器,则不同的域或主机在配置中类似。
spec:
rules:
- host: foobar.com
http:
paths:
- backend:
serviceName: foobar
servicePort: 80
- host: api.foobar.com
http:
paths:
- backend:
serviceName: foobar
servicePort: 80对于treafik,它也将是相同的,否则您可以创建两个单独的入口而不是一个入口。
ingress-1.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kubernetes-dashboard
spec:
rules:
- host: dashboard.test.domain.com
http:
paths:
- path: /
backend:
serviceName: frontend
servicePort: 80ingress-2.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kubernetes-ingress-two
spec:
rules:
- host: dashboard.domain.com
http:
paths:
- path: /api
backend:
serviceName: backend
servicePort: 80基于路径的进一步路由,您可以在入口实现。
所以你在整个拱门上都会像
所有流量都来自一个点,即Loadbalancer服务公开的treafik控制器。
所有其他microservices都将以ClusterIP的形式运行,因为我们不想直接从互联网访问。
发布于 2021-08-05 17:48:10
我的工作方法:
我使用两个域,都指向负载均衡器(在我的例子中是Hetzner)
load-balancer.hetzner.cloud/hostname: my.domain.comload-balancer.hetzner.cloud/name: myloadbalancer-nameload-balancer.hetzner.cloud/protocol: http
type: LoadBalancer,并使用相应的值进行注释:kubernetes.io/ingress.class: traefik注释我的入侵服务。ingress.
┌────────────┐
│ │
│ Domain A │───┐
│ │ │
└────────────┘ │ ┌───────────────┐
├───▶│ Loadbalancer A│
┌────────────┐ │ └───────────────┘
│ │ │ │
│ Domain B │───┘ ▼
│ │ ┌─────────────────┐ ┌───────────────────┐
└────────────┘ │Service │ │Ingress │
│ │◀────│ / -> frontend │
└─────────────────┘ │ /api -> backend │
│ └───────────────────┘
┌──────┴──────┐
▼ ▼
┌───────────┐ ┌───────────┐
│Service │ │Service │
│ FRONTEND │ │ BACKEND │
│ │ │ │
└───────────┘ └───────────┘ https://stackoverflow.com/questions/68621599
复制相似问题