Какой самый простой способ создать конечную точку HTTPS в Kubernetes? - PullRequest
0 голосов
/ 24 сентября 2019

Я создал простой Python API с использованием responseder и развернул его в Google Cloud с Kubernetes.У меня нет доменного имени, просто необработанный 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 голосов
/ 24 сентября 2019

Если вы ищете минимальный уровень усилий для этого, вам нужно установить SSL-сертификат внутри вашего док-контейнера.Вы также можете продолжать использовать externalIP , как и сейчас.

Затем в ответчике вы можете включить HSTS для перенаправления http на https.

api = responder.API(enable_hsts=True)

Тогда просто зайдите в свой модуль с

https://192.0.2.42/api/myapi

...