【问题标题】:How to set htpasswd for oauth in master config for minishift (v1.11.0) (Openshift Origin)如何在 minishift (v1.11.0) 的主配置中为 oauth 设置 htpasswd (Openshift Origin)
【发布时间】:2018-01-22 10:29:33
【问题描述】:

我正在尝试在我的 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?如果是,我在哪里可以得到包裹?

【问题讨论】:

    标签: openshift openshift-origin .htpasswd minishift


    【解决方案1】:

    我想我找到了问题所在。在尝试时,我在启动时使用相应的标志更改为 minishift 的 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 时,已经定义了一个用户。我还在密码文件中定义了他,但是当尝试通过 web 控制台使用此用户名登录时,我收到错误,无法创建用户。所有其他用户名都可以正常工作。也许在将他添加到 HTPasswd 之前,我必须在某个内部用户目录中删除他。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多