在Kubernetes上创建HTTPS端点的最简单方法是什么?

时间:2019-09-24 17:47:14

标签: python ssl kubernetes lets-encrypt

我已经使用responder创建了一个简单的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代码完成的事情?看起来响应者似乎没有为此提供简单的机制。

1 个答案:

答案 0 :(得分:0)

如果您正在寻找实现此目标的最低限度的工作,则需要在Docker容器内安装SSL证书。您也可以像现在一样继续使用 externalIP

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

api = responder.API(enable_hsts=True)

然后只需使用

访问您的广告连播

https://192.0.2.42/api/myapi