如何在Kubernetes GCE上启用HTTPS TLS



我在Google Cloud中成功部署了我的Web应用程序。它通过HTTP服务。我遵循了有关如何添加SSL证书的所有指南,并根据Google Cloud Console添加,但是当您尝试访问Web应用程序HTTPS时,它仅作为HTTP工作。浏览器说"无法到达此网站"

我的入口yaml看起来像

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: no-rules-map
spec:
  tls:
  - secretName: testsecret
  backend:
    serviceName: s1
    servicePort: 80

秘密

apiVersion: v1
data:
  tls.crt: [crt]
  tls.key: [key]
kind: Secret
metadata:
  name: testsecret
  namespace: default
type: Opaque

我使用此命令上传我的SSL证书

kubectl create secret tls tls-secret --key=/tmp/tls.key --cert=/tmp/tls.crt

而不是下面的YAML文件秘密,其效果更好。至少对于Google Cloud

apiVersion: v1
data:
  tls.crt: [crt]
  tls.key: [key]
kind: Secret
metadata:
  name: testsecret
  namespace: default
type: Opaque

确保您何时进入Google Cloud Constole中的Kubernates Engine -> Configuration,该秘密类型是Secret: kubernetes.io/tls,而不仅仅是Secret。当您使用YAML创建秘密时,它仅作为秘密而不是秘密创建:kubernetes.io/tls。

有关更多信息,您可以查看以下链接:https://github.com/kubernetes/ingress-gce#backend-https

在此处输入链接说明

https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer#remarks

相关内容

  • 没有找到相关文章

最新更新