Я пропустил, что это может быть достигнуто так же, как с Kubernetes-Dashboard : Вы должны установить sh открытое s sh -соединение (следовательно, открыть туннель -> туннелирование ) с внешнего компьютера.
Конечно, это не «внешний» доступ, который я имел в виду, а работающее и быстрое решение для моей тестовой среды (и, возможно, вашей).
Как установить sh это s sh -подключение
Сначала получите внешний IP-адрес вашего proxy-publi c:
$: kubectl get services --namespace jhub
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hub ClusterIP 10.99.241.72 <none> 8081/TCP 95m
proxy-api ClusterIP 10.107.175.27 <none> 8001/TCP 95m
proxy-public LoadBalancer 10.102.171.162 192.168.1.240 80:31976/TCP,443:32568/TCP 95m
Примечание : диапазон внешнего IP-адреса был определен в моем layer2
в моем MetalLB -конфиге.
Используя эту информацию (и предполагая, что вы на Linux), откройте терминал и используйте следующую команду:
$ ssh pi@10.10.10.2 -L 8000:192.168.1.240:80
# -L opens a localhost-connection
# pi@10.10.10.2 logs me into my second node with user pi
Note1 : То localhost:8000
настроен как targetPort для proxy-publi c с http также можно увидеть, когда вы описываете сервис и смотрите спецификации портов (вы также можете получить настройки для https):
kind: Service
apiVersion: v1
metadata:
name: proxy-public
namespace: jhub
...
spec:
ports:
- name: http
protocol: TCP
port: 80
targetPort: 8000
nodePort: 31976
- name: https
...
Наконец, наберите http://localhost:8000/
в своем браузере - и вуаля, вы попадаете на страницу входа в JupyterHub!