По сути, PAM-аутентификатор будет настроен так же, как на любой машине Linux, за исключением того, что в этом случае вы будете делать это в контейнерах при запуске в вашем JupyterHub в кластере Kubernetes..
Вы можете построить свою клиентскую базу контейнеров на базе для JupyterHub, а затем добавить пользователей при создании контейнера:
Dockerfile:
FROM jupyterhub/jupyterhub
RUN adduser -q –gecos "" –disabled-password <username1>
RUN adduser -q –gecos "" –disabled-password <username2>
...
Сборка контейнера:
$ docker build -t myjupyterhub .
Кроме того, вы можете создать сценарий entrypoint.sh
, который создает пользователей.Примерно так:
#!/bin/bash
adduser -q –gecos "" –disabled-password <username1>
adduser -q –gecos "" –disabled-password <username2>
...
<start-jupyterhub>
Сделайте его исполняемым:
$ chmod +x entrypoint.sh
Затем в вашем Dockerfile что-то вроде этого:
FROM jupyterhub/jupyterhub
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
...
ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ]
Вы также можете поиграть с ConfigMaps и посмотрите, можете ли вы использовать их для добавления пользователей, но это означает, что вам придется больше понимать, как настроен PAM и что, например, adduser -q –gecos "" –disabled-password <username1>
делает на самом деле.