如何在kubernetes GCE上启用https tls

如何在kubernetes GCE上启用https tls,kubernetes,cloud,google-compute-engine,google-kubernetes-engine,kubernetes-security,Kubernetes,Cloud,Google Compute Engine,Google Kubernetes Engine,Kubernetes Security,我在谷歌云的kubernetes上成功部署了我的web应用程序。它通过http提供服务。我遵循了所有关于如何添加ssl证书的指南,它是根据Google云控制台添加的。然而,当您尝试以HTTPS方式访问web应用程序时,它只能作为http使用。浏览器显示“无法访问此网站” 我的入口YAML看起来像这样 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: no-rules-map spec: tls: - secret

我在谷歌云的kubernetes上成功部署了我的web应用程序。它通过http提供服务。我遵循了所有关于如何添加ssl证书的指南,它是根据Google云控制台添加的。然而,当您尝试以HTTPS方式访问web应用程序时,它只能作为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文件机密,它工作得更好。至少对于谷歌云来说是这样

apiVersion: v1
data:
  tls.crt: [crt]
  tls.key: [key]
kind: Secret
metadata:
  name: testsecret
  namespace: default
type: Opaque
当你在谷歌云控制台中进入
Kubernates引擎->配置时,确保你的秘密类型是
secret:kubernetes.io/tls
,而不仅仅是
secret
。当您使用yaml创建机密时,它被创建为仅机密而非机密:kubernetes.io/tls

有关更多信息,请查看以下链接:


您还需要一个名为testsecret的密码,该密码的数据字段中有两个密钥-tls.crt和tls.key-包含必需的编码数据。该密码已添加。