首页 > 解决方案 > 在 Kubernetes 上创建 HTTPS 端点最简单的方法是什么?

问题描述

我使用响应器创建了一个简单的 Python API 并使用 Kubernetes 将其部署到 Google Cloud。我没有域名,只有原始 IP 地址。

http://192.0.2.42/api/myapi

并部署为:

kubectl get service
NAME         TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)        AGE
kubernetes   ClusterIP      192.0.2.1     <none>         443/TCP        5d15h
web          LoadBalancer   192.0.2.100   192.0.2.42        80:32749/TCP   5d15h

kubectl get pods
NAME                   READY   STATUS    RESTARTS   AGE
my-pod-name   1/1     Running   0          16h

我想让它成为一个 HTTPS 端点,这样我就可以将它用作:

https://192.0.2.42/api/myapi

但我正在努力寻找最简单的方法。

这应该是通过 Kubernetes 完成的事情,还是在 Python 代码中完成的事情?看起来响应者并没有为此提供简单的机制。

标签: pythonsslkuberneteslets-encrypt

解决方案


如果您正在寻找做到这一点的最低限度的努力,您需要在 docker 容器中安装 SSL 证书。您也可以像现在一样继续使用externalIP 。

然后在响应者中,您可以启用 HSTS 将 http 重定向到 https。

api = responder.API(enable_hsts=True)

然后只需访问您的 pod

https://192.0.2.42/api/myapi


推荐阅读