3

我成功地将我的网络应用程序部署在谷歌云中的 kubernetes 上。它通过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
4

1 回答 1

2

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

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

而不是下面的 yaml 文件 Secret 并且效果更好。至少对于 Google Cloud

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

确保当您进入Kubernates Engine -> ConfigurationGoogle Cloud Console 时,您的密钥类型是 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

于 2018-03-01T13:00:37.600 回答