【问题标题】:Clone Openshift application in scalable以可扩展的方式克隆 Openshift 应用程序
【发布时间】:2015-02-08 22:27:41
【问题描述】:

我在 Openshift 免费计划中有一个应用程序,只有一个档位。我想将其更改为 scalabe 并使用所有 3 个免费齿轮。

我从 openshift 读到了这个blog post,我发现有办法做到这一点。我应该将我当前的应用程序克隆到一个新的应用程序作为可扩展的,它将使用剩余的 2 个齿轮,然后我将删除原始应用程序。因此,新的将有 3 个免费齿轮。

博客建议的方式是:rhc create-app <clone> --from-app <existing> --scaling

我有以下错误:invalid option --from-app

更新

在运行命令gem update rhc 后,我没有出现上述错误,但是...一个具有给定名称的新应用程序已使用与现有应用程序相同的起始包(Python 2.7)创建,但所有文件丢失。它实际上创建了一个空白应用程序,而不是现有应用程序的克隆。

更新 2

这是文件夹的结构:

-.git
-.openshift
-wsgi
---static
---views
---application
---main.py
-requirements.txt
-setup.py

【问题讨论】:

    标签: openshift openshift-client-tools


    【解决方案1】:

    根据我们在 IRC 上的讨论,您的问题在于 Windows 机器上缺少 SSH 配置:

    Creating application xxx ... done
    Waiting for your DNS name to be available ...done
    Setting deployment configuration ... done
    No system SSH available. Please use the --ssh option to specify the path to your SSH executable, or install SSH.
    

    我已经仔细检查了它,它似乎可以正常工作。 唯一的要求是拥有 最新的 rhc 客户端 和 putty 或任何其他 SSH 客户端。我建议再次查看tutorial 并仔细检查所有内容以确保一切正常。

    【讨论】:

    • 我再次完成了上述过程,并且在 Putty 的 ssh 命令中执行了以下操作:“服务器拒绝了我们的密钥”。我还在 Path 中添加了 Putty 以防万一
    • Anastasios 你用谷歌搜索过这个问题吗?在您的设置过程中似乎有错误。看看hereherehere
    • 我删除了所有独立程序并进行了全新安装。问题出在 ssh 上。我不知道到底是什么,但现在可以了:)
    【解决方案2】:

    确保您使用的是最新版本的 rhc gem 和“gem update rhc”,以确保您可以从命令行访问该功能。

    【讨论】:

    • 你是对的。运行命令后,我没有同样的错误。它创建了一个新的可扩展应用程序,但它不是前一个应用程序的克隆。它是一个使用相同启动包(Python 2.7)的空白应用程序。所有文件都丢失了
    • 您使用的是什么版本的 rhc?使用 rhc --version 得到那个
    • rhc 1.26.9。它应该是最新的,因为我已经成功运行了更新
    【解决方案3】:

    --from-app 本质上将执行“rhc 快照保存和快照恢复”(以及其他操作),您可以从源代码中看到:

      if from_app
        say "Setting deployment configuration ... "
        rest_app.configure({:auto_deploy => from_app.auto_deploy, :keep_deployments => from_app.keep_deployments , :deployment_branch => from_app.deployment_branch, :deployment_type => from_app.deployment_type})
        success 'done'
    
        snapshot_filename = temporary_snapshot_filename(from_app.name)
        save_snapshot(from_app, snapshot_filename)
        restore_snapshot(rest_app, snapshot_filename)
        File.delete(snapshot_filename) if File.exist?(snapshot_filename)
    
        paragraph { warn "The application '#{from_app.name}' has aliases set which were not copied. Please configure the aliases of your new application manually." } unless from_app.aliases.empty?
      end
    

    但是,这不会复制您的 $OPENSHIFT_DATA_DIR 目录中的任何内容,因此如果您将文件存储在那里,您需要手动复制它们。

    【讨论】:

    • 我已经用文件夹的结构更新了问题。就我而言,不应该克隆整个应用程序吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多