如何在同一主机上的不同名称空间中配置多个入口

时间:2020-07-17 14:04:13

标签: networking kubernetes dns routes kubernetes-ingress

我有一个带有k8s的单个主机集群,我想为每个命名空间配置一个Ingress来创建分离的环境:一个用于生产,一个用于开发。 我还采用了2个不同的域。 当我部署生产入口时没有问题,但是当我部署第二个入口时,开发环境无法访问,使用port-forward一切都很好。

2个入口配置:

开发

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.bluemix.net/redirect-to-https: "True"
  name: dev-ingress
  namespace: dev
spec:
  rules:
  - host: '*.dev.cloud'
    http:
      paths:
      - backend:
          serviceName: web-service
          servicePort: 80
        path: /
  tls:
  - hosts:
    - '*.dev.cloud'
    secretName: dev-cert

生产

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.bluemix.net/redirect-to-https: "True"
  name: prod-ingress
spec:
  rules:
  - host: '*.prod.cloud'
    http:
      paths:
      - backend:
          serviceName: web-service
          servicePort: 80
        path: /
  - host: "k8s-host"
    http:
      paths:
      - path: /path/to/api
        backend:
          serviceName: web-api
          servicePort: 3000
  tls:
  - hosts:
    - '*.prod.cloud'
    secretName: prod-cert
  - hosts:
    - "k8s-host"
    secretName: k8s-host-cert

我还编辑了两个域的CNAME记录,以便重定向到k8s主机。

我期望来自该域之一的子域的请求将被重定向到与该域匹配的入口。

例如:

https://abc.dev.cloud -> dev-ingress
https://abc.prod.cloud -> prod-ingress

0 个答案:

没有答案