使用多个帐户的 OpenShift rhc 设置

Posted

技术标签:

【中文标题】使用多个帐户的 OpenShift rhc 设置【英文标题】:OpenShift rhc setup using multiple accounts 【发布时间】:2013-04-09 09:20:02 【问题描述】:

我在 Openshift 平台上有两个帐户。如何设置我的计算机以便我可以使用rhc 管理它们?我在命令行参数中找不到任何相关选项。

【问题讨论】:

【参考方案1】:

rhc 命令行工具带有全局选项 -l, --rhlogin LOGIN。你有两个选择:

    在每个命令中使用-l 标志来指定登录名:

    rhc app create <appname> <cartridge> [-l <login1/login2>]
    

    在会话之间运行rhc setup -l LOGIN。完成从一个帐户管理应用程序后,您可以通过运行 rhc account logout 来结束它的会话。

    rhc setup -l <login1> # First account's login
    rhc app create <appname> <cartridge>
    rhc logout
    rhc setup -l <login2> # Second account's login
    rhc app create <appname> <cartridge>
    rhc logout
    

当您可以使用rhc setup 命令时,用户名信息将存储在.openshift/express.conf 文件中;因此,当您要切换帐户时需要再次运行它。

【讨论】:

当你说 &lt;login&gt; 时,它到底是什么意思??...用户名?? OR密码??...我认为最好让我们清楚您的意思是&lt;openshift-username&gt; 那么你如何切换账户呢?我在 rhc 帮助中找不到任何指示注销后如何登录的内容【参考方案2】:

命令行还支持--conf - 您可以在其中传递文件。您始终可以通过 shell 脚本为命令设置别名。

【讨论】:

【参考方案3】:

相当老的问题,但我使用了另一种似乎更舒服的解决方案(至少对我来说) - 环境变量 OPENSHIFT_CONFIG

OPENSHIFT_CONFIG 环境变量 can be used 覆盖 OpenShift 配置名称(默认为“express”)。设置时使用 rhc 执行的操作指的是~/.openshift/$OPENSHIFT_CONFIG.conf(而不是~/.openshift/express.conf)。

要切换到另一个 OpenShift 帐户,可以使用以下命令 (Bash):

export OPENSHIFT_CONFIG=thenewone 
rhc apps    //apps on the new account

...
unset OPENSHIFT_CONFIG
rhc apps    //apps on the default account

已通过 rhc 1.37.1 验证,但应适用于 2013 年 5 月之后发布的任何版本。

【讨论】:

【参考方案4】:

第一次运行rhc setup 命令时,会创建~/.openshift/express.conf 文件,其中包含初始服务器配置的设置。当您添加另一台服务器或使用--server 选项再次运行rhc setup 命令时,将创建~/.openshift/servers.yml 文件,其中包含每个服务器的设置。您可以编辑此文件以对服务器配置进行任何更改,这优先于初始 ~/.openshift/express.conf 文件。

rhc server use server.name.example.co
rhc server use Server_Nickname

更多信息here

【讨论】:

【参考方案5】:

使用rhc setup -l &lt;login&gt;。这里login 是您注册的OpenShift 帐户的email address

【讨论】:

【参考方案6】:

在 Windows 上,像我一样运行这些命令并做出响应(用 &lt;&gt; 表示):

rhc setup -l login@domain.mail.com
Enter the server hostname: <openshift.redhat.com>
Password: <**********><Press Enter>
Generate a token now? (yes|no) y<Press Enter>
Generating an authorization token for this client ... lasts about 1 month
Saving configuration to C:\Users\UserName\.openshift\express.conf ... done

您的私有 SSH 密钥文件应设置为仅供您自己阅读。要进行此更改,请运行:

chmod 600 C:\Users\<Your Username>\.ssh\id_rsa

您的客户端工具现已配置完毕。

然后,您可以长时间使用控制台命令,并为您的 OpenShift 登录生成令牌。

【讨论】:

【参考方案7】:

您可以使用server add 命令配置多个帐户,然后您可以使用--server 选项在所有后续命令中提供服务器昵称。例如:

rhc server add -l <first_account> --nickname srv1 <first-server>
rhc server add -l <second_account> --nickname srv2 <second-server>

您可以添加-p, --use-authorized-tokens 之类的选项来禁止提示密码和令牌生成。如果需要,也可以--insecured

rhc server use srv1
rhc server use srv2

上面的命令执行某种初始化。完成上述两个步骤后,您就可以使用多个帐户了。

现在在您的rhc 命令中,您需要指定应该使用哪个服务器。例如:

rhc app-show -n <domain> <app> --server srv1

上面的命令将在srv1 中显示应用程序的详细信息。对于srv2,您可以运行

rhc app-show -n <domain> <app> --server srv2

【讨论】:

以上是关于使用多个帐户的 OpenShift rhc 设置的主要内容,如果未能解决你的问题,请参考以下文章

rhc 设置给出错误“没有这样的文件 dl/import”

使用 OpenShift 的公共客户端应用程序端口转发

OPENSHIFT MYSQL使用Navicat远程连接

Tomcat 项目 WAR 未在 OpenShift 中启动

如何为 API 凭据设置/取消设置多个帐户

在带有自定义域的 OpenShift 中从 HTTPS 重定向到 HTTP