python - 在 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 代码中完成的事情?看起来响应者并没有为此提供简单的机制。
解决方案
如果您正在寻找做到这一点的最低限度的努力,您需要在 docker 容器中安装 SSL 证书。您也可以像现在一样继续使用externalIP 。
然后在响应者中,您可以启用 HSTS 将 http 重定向到 https。
api = responder.API(enable_hsts=True)
然后只需访问您的 pod
https://192.0.2.42/api/myapi
推荐阅读
- swift - 什么是 swift unkeyed 容器?
- kotlin - 用字符串中的多个字符替换多个字符
- flutter - BlocConsumer 访问多个提供者
- python - 关于联邦学习代码的问题:test_dir,user_dir = get_dataset(args) ValueError: too many values to unpack (expected 2)
- amazon-web-services - 在 AWS ElasticBeanstalk 中反应构建容器命令非常慢
- reactjs - Next.js 使用 SWR 和 axios
- c# - 在异常过滤器中从服务中捕获错误
- reactjs - useState 不更新套接字值
- apache-kafka - 当来自kafka的数据时,无法在德鲁伊中读取数据json格式
- spring-boot - 没有惰性的 Spring + Hibernate = LazyInitializationException