如何在kubernetes GCE上启用https tls
我在谷歌云的kubernetes上成功部署了我的web应用程序。它通过http提供服务。我遵循了所有关于如何添加ssl证书的指南,它是根据Google云控制台添加的。然而,当您尝试以HTTPS方式访问web应用程序时,它只能作为http使用。浏览器显示“无法访问此网站” 我的入口YAML看起来像这样如何在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
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-包含必需的编码数据。该密码已添加。