如何在Kubernetes集群上为jupyterhub设置PAM身份验证?

时间:2018-12-18 01:46:48

标签: authentication kubernetes pam jupyterhub

我一直在尝试在我的Kubernetes集群(在3个virtualbox节点上)上部署JupyterHub,并愿意使用PAM身份验证,但是不幸的是,文档中没有任何内容。 如果有人简短地解释了这些步骤,或者至少给了我一些提示,我将不胜感激。

如有需要,我会提供更多信息。

谢谢

1 个答案:

答案 0 :(得分:1)

基本上,PAM authenticator的配置与在任何Linux机器上的配置相同,除了在这种情况下,您将在Kubernetes集群上的JupyterHub中运行的容器中进行配置。

您可以在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>的实际用途例如。