我想在OpenShift Express PaaS上开展日常工作.我知道如何在我的应用程序上激活cron盒式磁带以及如何将脚本添加到正确的cron文件夹中.
但是我特别需要指定工作执行的那一天.例如"每天晚上10:30"
这可能与OpenShift cron墨盒有关吗?如何配置特定时间的日常工作?
此致,拉尔斯
你如何拖尾openhift日志文件?我发出了以下命令:
rhc tail myapp
Run Code Online (Sandbox Code Playgroud)
它似乎显示第一个错误行然后停止,但不退出.如果按ctrl + C,它会询问是否停止批量.如何显示最后几个错误,可以逐页浏览?是否有页面向下/向上翻页快捷方式?
我是Openshift Origin的新手.我现在正在尝试在OpenShift原点部署我的docker容器.为此我创建了一个非常简单的docker容器,它添加了两个数字并产生结果:
我在本地创建了一个docker镜像,并在docker hub中创建了一个公共docker镜像:
docker pull abrahamjaison/openshifttest
Run Code Online (Sandbox Code Playgroud)
我在本地运行docker镜像,如下所示:
[root@mymachine /]# docker run -it --rm abrahamjaison/openshifttest
Enter first large number
12345
Enter second large number
54321
Result of addition = 66666
Run Code Online (Sandbox Code Playgroud)
由于我是Openshift的新手,我不知道如何在Openshift环境中部署它.
我创建了一个新项目: oc new-project openshifttest
然后是一个新应用: oc new-app docker.io/abrahamjaison/openshifttest
但后来我不知道如何访问控制台/终端来提供输入.当我运行这个时,很多次我在发出命令"oc status"时得到"部署失败"的输出.
基本上我想知道如何在openshift上部署这个docker镜像,以及我如何能够访问终端以提供执行添加的输入.
有人可以帮我解决这个问题吗?
我正在尝试使用以下命令在OpenShift v3.3.0上创建一个秘密:
oc create secret generic my-secret --from-file=application-cloud.properties=src/main/resources/application-cloud.properties -n my-project
Run Code Online (Sandbox Code Playgroud)
因为我之前创建了相同的秘密,我收到此错误消息:
Error from server: secrets "my-secret" already exists
Run Code Online (Sandbox Code Playgroud)
我查看了oc,oc create并且oc create secret选项在创建时无法找到覆盖密码的选项.
然后我尝试删除现有的秘密oc delete.下面列出的所有命令都返回No resources found或语法错误.
oc delete secrets -l my-secret -n my-project
oc delete secret -l my-secret -n my-project
oc delete secrets -l my-secret
oc delete secret -l my-secret
oc delete pods,secrets -l my-project
oc delete pods,secrets -l my-secret
oc delete secret generic -l my-secret
Run Code Online (Sandbox Code Playgroud)
您是否知道如何使用OpenShift控制台或命令行删除秘密或覆盖秘密?
我在Openshift v3上的west-1有一个项目.在其中我有一个工作正常的应用程序和一个在GitHub提交代码中非常下游的东西后停止工作的应用程序.问题是制作一个吊舱:
No nodes are available that match all of the following predicates::
Insufficient cpu (173), MatchNodeSelector (5).
Run Code Online (Sandbox Code Playgroud)
我停了下来,然后我缩小了另一个吊舱,看看是否有任何奇怪的设置让对方的新版本可能已经拾起并且我得到了同样的结果.现在两者都破了.
是Red Hat Openshift耗尽了CPU还是我有一些奇怪的默认设置决定请求173个CPU和5个节点?
我正在使用nodejs和mongodb开发一个应用程序.我遇到了Openshift用于托管,他们提供3个免费的齿轮,每个齿轮有512个RAM和1个磁盘空间.
MongoDB采用Openshift应用程序的盒式磁带,所以我不确定,如果我为我的nodejs应用程序安装MongoDB盒式磁带,它将为MongoDB分配多少数据大小.
a) Does it limit to 1GB
b) MongoDB data-size= 1GB - (NodeJS APP space)
c) or can i have it as a separate gear for MongoDB and access in my application ?
Run Code Online (Sandbox Code Playgroud)
Openshift也允许访问外部云数据存储,如mongoHQ或cloudant
我有以下代码
var express = require('express')
, app = express()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server)
, connect = require('connect')
, pg = require('pg')
, Client = pg.Client;
// Setup express middleware
app.use(express.static('public'));
app.use(connect.logger());
// Start the server
var port = process.env.OPENSHIFT_INTERNAL_PORT || 8080
, ip = process.env.OPENSHIFT_INTERNAL_IP || "127.0.0.1";
server.listen(port, ip);
Run Code Online (Sandbox Code Playgroud)
但是,当应用程序自动启动或我用节点手动启动时,我总是收到错误:"警告:错误引发:错误:收听EACCES"
package.json的内容:
{
"name" : "test-app",
"version" : "0.0.1-1-alpha",
"description" : "test-app",
"dependencies": {
"express" : "3.1.x",
"connect" : "*",
"socket.io" : "0.9.x",
"i18next" : "1.6.x",
"bower" …Run Code Online (Sandbox Code Playgroud) 我正在使用ssh连接到openshift服务器.每隔一段时间,每隔15分钟,我就会被踢出去(断开连接).我怎么能阻止这个?
谢谢
我正在部署一个使用 next.js 到 openshift 的节点项目,我在其中设置了环境变量 MY_ENV。我已将publicRuntimeConfig配置添加到 next.config.js 以访问它的客户端。它在我的本地工作,但是当它的容器化和部署publicRuntimeConfig是undefined.
这是我从 next.config.js 的配置
module.exports = {
publicRuntimeConfig: { // Will be available on both server and client
isProd: process.env.MY_ENV ? process.env.MY_ENV.includes('prod'): false,
isStaging: process.env.MY_ENV ? process.env.MY_ENV.includes('staging') : false
},
webpack: (config, { dev }) => {
const eslintRule = {
test: /\.js$/,
enforce: 'pre',
exclude: /node_modules/,
loader: 'eslint-loader',
options: {
emitWarning: dev,
},
};
const cssRule = {
test: /\.css$/,
use: {
loader: 'css-loader',
options: { …Run Code Online (Sandbox Code Playgroud) 我已经创建了一个 cron 作业并将其推送到部署,但是当我看到它在 OpenShift 中运行时,我收到以下错误消息:
无法确定是否需要启动作业:错过启动时间太多 (> 100)。设置或减少 .spec.startingDeadlineSeconds 或检查时钟偏差。
根据我的理解,作业无法运行。但我不明白为什么它失败了。为什么没有记录在某处?- 或者如果是,我在哪里可以找到它?
CronJob 控制器将继续尝试根据最近的计划开始作业,但一直失败,显然它已经这样做了 100 次以上。
我检查了我的 cron 作业的语法,它没有给出任何错误。此外,如果有任何语法消息,我什至不允许推送。
有谁知道怎么了?
我的 Cron 工作:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: my-cjob
labels:
job-name: my-cjob
spec:
schedule: "*/5 * * * *"
jobTemplate:
# activeDeadlineSeconds: 180 # 3 min <<- should this help and why?
spec:
template:
metadata:
name: my-cjob
labels:
job-name: my-cjob
spec:
containers:
- name: my-cjob
image: my-image-name
restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)
还是我应该使用startingDeadlineSeconds?任何遇到此错误消息并找到解决方案的人?
根据评论更新
运行时,kubectl get cronjob我得到以下信息:
NAME …Run Code Online (Sandbox Code Playgroud)