如何在 minishift (v1.11.0) 的主配置中为 oauth 设置 htpasswd(Openshift Origin)
How to set htpasswd for oauth in master config for minishift (v1.11.0) (Openshift Origin)
我试图在我的 minishift 1.11.0 安装中通过 htpasswd 激活身份验证。我找不到用于设置 Openshift Origin 文档中描述的值的主配置文件。我通过 minishift ssh 在 minishift-VM 中搜索过,在我的 Windows 7 主机上的主文件夹中的 minishift 文件夹中搜索过。
如何为 minishift 1.11.0 激活 htpasswd?
编辑:
我在文件夹 /var/lib/minishift/openshift.local.config/master/
中找到了 master-config.yaml
。我按照 Openshift 文档中的描述更改了 oauthConfig 下的内容:
https://docs.openshift.org/latest/install_config/configuring_authentication.html
.htpasswd 文件位于同一文件夹中,并在主配置中引用它的绝对路径。
但是当我停止并再次启动 minishift 时,启动过程以以下错误结束:
-- Starting OpenShift container ...
Starting OpenShift using container 'origin'
FAIL
Error: could not start OpenShift container "origin"
Details:
No log available from "origin" container
minishift : Error during 'cluster up' execution: Error starting the cluster.
In Zeile:1 Zeichen:1
+ minishift start --vm-driver=virtualbox
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Error during 'c...ng the cluster.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
编辑 2:
我怀疑,Openshift 直接使用工具 htpasswd 来验证用户的密码。我无法在 minishift 使用的 boot2docker VM 中安装 htpasswd,因此容器的初始化失败。 (默认情况下未安装 yum)。
是否可以在boot2docker中安装htpasswd?如果是,我在哪里可以拿到包裹?
我想我找到了问题所在。在尝试时,我在启动时使用相应的标志更改为 minishift 的 centos 图像:
minishift start --iso-url=centos
当我想用 minishift openshift config set
将配置修补到 master 时,它失败并回滚了。在日志中搜索(使用 minishift logs
)得到了这一行:
error: Invalid MasterConfig /var/lib/origin/openshift.local.config/master/master-config.yaml
oauthConfig.identityProvider[0].provider.file: Invalid value: "/var/lib/minishift/openshift.local.config/master/.htpasswd": could not read file: stat /var/lib/minishift/openshift.local.co
nfig/master/.htpasswd: no such file or directory
Openshift 找不到 HTPasswd 文件,因为对于 Openshift,master-config.yaml
文件位于
/var/lib/origin/openshift.local.config/master
不在
/var/lib/minishift/openshift.local.config/master
正如我在配置文件中所写的那样。后一个是 minishift-VM 本身看到的文件路径(如使用 minishift ssh
时所见),但在其中运行的 Openshift 实例只能看到第一个。我只需要将主配置文件更新到正确的文件路径。
我没有检查过,如果这也解决了 boot2docker-iso 的问题,但我认为这一定是问题所在。并且 HTPasswd 确实不需要安装在 VM 中来让它工作。您只需要包含 VM 可访问的用户和密码的文件。
PS.: 我也有一个奇怪的副作用。当我更改为 HTPasswd 时,已经定义了一个用户。我还在密码文件中定义了他,但是当尝试通过网络控制台使用此用户名登录时,我收到错误消息,无法创建用户。所有其他用户名都可以正常工作。在将他添加到 HTPasswd 之前,也许我必须在某个内部用户目录中删除他。
我试图在我的 minishift 1.11.0 安装中通过 htpasswd 激活身份验证。我找不到用于设置 Openshift Origin 文档中描述的值的主配置文件。我通过 minishift ssh 在 minishift-VM 中搜索过,在我的 Windows 7 主机上的主文件夹中的 minishift 文件夹中搜索过。
如何为 minishift 1.11.0 激活 htpasswd?
编辑:
我在文件夹 /var/lib/minishift/openshift.local.config/master/
中找到了 master-config.yaml
。我按照 Openshift 文档中的描述更改了 oauthConfig 下的内容:
https://docs.openshift.org/latest/install_config/configuring_authentication.html
.htpasswd 文件位于同一文件夹中,并在主配置中引用它的绝对路径。
但是当我停止并再次启动 minishift 时,启动过程以以下错误结束:
-- Starting OpenShift container ...
Starting OpenShift using container 'origin'
FAIL
Error: could not start OpenShift container "origin"
Details:
No log available from "origin" container
minishift : Error during 'cluster up' execution: Error starting the cluster.
In Zeile:1 Zeichen:1
+ minishift start --vm-driver=virtualbox
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Error during 'c...ng the cluster.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
编辑 2: 我怀疑,Openshift 直接使用工具 htpasswd 来验证用户的密码。我无法在 minishift 使用的 boot2docker VM 中安装 htpasswd,因此容器的初始化失败。 (默认情况下未安装 yum)。
是否可以在boot2docker中安装htpasswd?如果是,我在哪里可以拿到包裹?
我想我找到了问题所在。在尝试时,我在启动时使用相应的标志更改为 minishift 的 centos 图像:
minishift start --iso-url=centos
当我想用 minishift openshift config set
将配置修补到 master 时,它失败并回滚了。在日志中搜索(使用 minishift logs
)得到了这一行:
error: Invalid MasterConfig /var/lib/origin/openshift.local.config/master/master-config.yaml
oauthConfig.identityProvider[0].provider.file: Invalid value: "/var/lib/minishift/openshift.local.config/master/.htpasswd": could not read file: stat /var/lib/minishift/openshift.local.co
nfig/master/.htpasswd: no such file or directory
Openshift 找不到 HTPasswd 文件,因为对于 Openshift,master-config.yaml
文件位于
/var/lib/origin/openshift.local.config/master
不在
/var/lib/minishift/openshift.local.config/master
正如我在配置文件中所写的那样。后一个是 minishift-VM 本身看到的文件路径(如使用 minishift ssh
时所见),但在其中运行的 Openshift 实例只能看到第一个。我只需要将主配置文件更新到正确的文件路径。
我没有检查过,如果这也解决了 boot2docker-iso 的问题,但我认为这一定是问题所在。并且 HTPasswd 确实不需要安装在 VM 中来让它工作。您只需要包含 VM 可访问的用户和密码的文件。
PS.: 我也有一个奇怪的副作用。当我更改为 HTPasswd 时,已经定义了一个用户。我还在密码文件中定义了他,但是当尝试通过网络控制台使用此用户名登录时,我收到错误消息,无法创建用户。所有其他用户名都可以正常工作。在将他添加到 HTPasswd 之前,也许我必须在某个内部用户目录中删除他。