【问题标题】:how to enable https tls on kubernetes GCE如何在 kubernetes GCE 上启用 https tls
【发布时间】:2018-08-08 17:23:43
【问题描述】:

我成功地将我的网络应用部署在 Google 云中的 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

【问题讨论】:

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

标签: kubernetes cloud google-compute-engine google-kubernetes-engine kubernetes-security


【解决方案1】:

我使用此命令上传我的 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

确保当您在 Google Cloud Console 中转到 Kubernates Engine -> Configuration 时,您的密钥类型是 Secret: kubernetes.io/tls 而不仅仅是 Secret。当您使用 yaml 创建您的秘密时,它仅创建为秘密而不是秘密:kubernetes.io/tls。

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

enter link description here

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

【讨论】:

    猜你喜欢
    • 2017-11-06
    • 2016-10-26
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-08
    • 2015-03-15
    相关资源
    最近更新 更多