我正在尝试在我的minishift 1.11.0安装中通过htpasswd激活身份验证。我找不到主配置文件来设置Openshift Origin文档中描述的值。我通过minishift ssh和我的Windows 7主机上的主文件夹中的minishift文件夹中搜索了minishift-VM。
如何为minishift 1.11.0激活htpasswd?
编辑:
我在文件夹master-config.yaml
中找到了/var/lib/minishift/openshift.local.config/master/
。我按照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来验证用户的密码。我无法在boot2docker VM中安装htpasswd,minishift使用,因此容器的初始化失败。 (默认情况下也不安装yum。)
是否可以在boot2docker中安装htpasswd?如果是,我在哪里可以获得包裹?
答案 0 :(得分:0)
我想我发现了这个问题。尝试在启动时使用相应的标志更改为minosift的centos图像:
minishift start --iso-url=centos
当我想使用minishift openshift config set
将配置修补到主服务器时,它失败并回滚。在日志中搜索(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时,已经定义了一个用户。我还在密码文件中定义了他,但是当尝试通过webconsole使用此用户名进行登录时,我收到错误,无法创建用户。所有其他用户名都可以正常工作。在将他添加到HTPasswd之前,我可能必须在某个内部用户目录中删除他。