【问题标题】:How to set up TLS connection for GKE Ingress如何为 GKE Ingress 设置 TLS 连接
【发布时间】:2019-03-24 19:41:46
【问题描述】:

我想在 Google Cloud 中为我的应用程序启用 https 连接。我遵循了几个教程,但似乎没有任何效果。

我已经使用 Ingress 在 GKE 上部署了应用程序。这里是ingress.yml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: myapp-ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: myapp-ip
spec:
  backend:
    serviceName: myapp-service
    servicePort: 80

使用ip地址访问它就可以了,网站可以从互联网访问。

我使用 Google 域购买了域,并通过添加指向我的外部 IP 地址和 CNAME 记录的 A 记录来配置 DNS 区域。现在,该域可以完全访问应用程序。

然后我通过运行命令创建了 SSL 证书和 Kubernate 密钥:

openssl genrsa -out myapp-ingress-1.key 2048
openssl req -new -key myapp-ingress-1.key -out myapp-ingress-1.csr -subj "/CN=myapp.co.uk"
openssl x509 -req -days 365 -in myapp-ingress-1.csr -signkey myapp-ingress-1.key -out myapp-ingress-1.crt
kubectl create secret tls myapp-tls-secret-1 --cert myapp-ingress-1.crt --key myapp-ingress-1.key

并更新ingress.yml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: myapp-ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: myapp-ip
spec:
  tls:
  - secretName: myapp-tls-secret-1
  rules:
  - host: myapp.co.uk
    http:
      paths:
      - backend:
          serviceName: myapp-service
          servicePort: 80

我尝试了几个 ingress.yml 文件,按照互联网上的不同示例,但没有一个有效。

谁能给我建议?

【问题讨论】:

    标签: https kubernetes kubernetes-ingress


    【解决方案1】:

    您的 yaml 文件中缺少指定要保护的主机的行。由于您没有使用external-dns,因此您必须在您的域提供商端手动创建记录以将 IP 地址连接到您的域(您似乎已经这样做了)。看起来您的入口和 tls 机密都在 default 命名空间中,因此您可以使用以下 ingress.yaml

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: myapp-ingress
      annotations:
        kubernetes.io/tls-acme: "true"
        kubernetes.io/ingress.global-static-ip-name: myapp-ip
    spec:
      tls:
      - hosts:
        - "myapp.co.uk"
        secretName: myapp-tls-secret-1
      rules:
      - host: "myapp.co.uk"
        http:
          paths:
          - path: /
            backend:
              serviceName: myapp-service
              servicePort: 80
    

    【讨论】:

      猜你喜欢
      • 2021-05-02
      • 2020-05-19
      • 2020-11-29
      • 2020-10-12
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      相关资源
      最近更新 更多