问题标签 [openshift-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
364 浏览

kubernetes - 如何在 Openshift 中使用金丝雀服务?

我正在尝试在 Openshift 中发布服务的金丝雀版本。service我了解并且知道如果它已注册到 a ,如何金丝雀a route。但是在某些情况下,我们通常最终不会使用route. 是否可以选择在OpenShift 没有路线的情况下提供金丝雀服务?有没有人成功完成?

PS:我正在寻找由提供的金丝雀功能,Istio但不幸的是我现在无法使用它。

0 投票
1 回答
418 浏览

node.js - Openshift Online 3 启动器上的 Mongodb EHOSTUNREACH

我今天正在开发我的 Openshift 应用程序,并且没有更改与 mongodb 连接相关的任何内容,我开始收到以下消息:

不同的是,我看到由于某种原因 mongodb 服务尝试了新的部署但失败了,所以我手动运行了一个。

我还注意到它尝试连接的 IP 地址是 mongodb 的集群 IP,但当前运行的 pod 的节点 IP 不同。

有人可以帮我弄清楚是什么触发了连接中断吗?

谢谢

0 投票
1 回答
364 浏览

openshift - 如何在 Openshift 3 Online 中打开内部端口?

假设我想打开两个端口,一个在 8080 处为公众开放,另一个用于处理一些公共请求但被 8080 端口转发,如下所示:

我可以使用某种类型的设置来允许这样做吗?目前看来 Openshift 不允许这种设置。它可能不尊重127.0.0.1localhost因此不将请求转发到正确的 pod...

0 投票
1 回答
7125 浏览

openshift - 在 DeploymentConfigurations 中使用 OpenShift ConfigMap

ConfigMaps 的 OpenShift 文档 ( https://docs.openshift.com/enterprise/3.2/dev_guide/configmaps.html ) 只是在 Pod 中使用的一个示例。但是我也可以在 DeploymentConfig 中使用 ConfigMaps 吗?

Pod 中的参数声明与 DeploymentConfig 类似。

两者都使用该env物业。

0 投票
1 回答
221 浏览

node.js - How to get require('http').createServer().listen(port).on('connect', fn) to work on Openshift 3 Online?

On Openshift 3 Online require('http').createServer().listen(port).on('connect', fn) will never be activated. Do anyone knows the mechanism behind this challenging behavior and how to resolve it?

P.S. This is not really a duplicated question because in "How to open an internal port in Openshift 3 Online" the question is about opening an internal port. The extended question is "How to get require('http').createServer().listen(port).on('connect', fn) to work on Openshift 3 Online."

0 投票
1 回答
836 浏览

openshift - Openshift 部署——fabric8 或模板

我是 openshift 新手,正在阅读https://learn.openshift.com/middleware/fis-deploy-app/上的交互式教程。

本教程使用来自https://github.com/jbossdemocentral/katacoda-fuse-getting-started.git的源代码并构建 docker 镜像并将应用程序部署到 openshift 环境。

我在教程中提到的模板文件定义了部署所需的“Routes、Services、BuildConfig 等”。但是我也可以看到它们在 /src/main/fabric 文件夹中定义。

看起来在构建过程中没有使用 fabric 文件夹。Openshift 控制台中创建/显示的路线、服务等与模板文件匹配。

有人可以澄清一下fabric8文件夹和里面的文件有什么用吗?我假设应该有另一种方法来创建从 fabric8 获取配置的应用程序 - 这是正确的吗?模板文件应该参考fabric8中的配置吗?

你能分享一些使用fabric8将应用程序部署到openshift的好例子吗?

基本上我在我的本地有 springboot 应用程序并试图找出最好的部署方法。

谢谢。

0 投票
1 回答
3013 浏览

openshift - 如何将请求映射到 Openshift v3 中 pod 中的多个端口?

我有一个执行 http 和 ws 请求的网络应用程序。我正在尝试将其部署到 Openshift v3。因此,我需要将我的请求映射到 pod 中的端口 80 和 90。然而:

  1. 相关线程中所述,路由不可能公开多个端口,因此,我不能仅根据端口将请求映射到不同的服务。
  2. 我尝试设置一个路由,将任何端口映射到具有多个端口的服务,但我收到警告

路由没有目标端口,但服务有多个端口。该路由将轮询服务上所有公开端口的流量

  1. 我不能为 http 和 ws 使用不同的路由,因为为 http 获得的会话 cookie 不会附加到 web 套接字请求。

解决方案(?):

  • 相关线程中建议使用 Ingress Controller,但似乎只能由集群管理员设置。
  • 我可以使用两条路由并为每条路由设置一个单独的 cookie,但这似乎不对——为什么我必须为 2 个域使用 2 个 cookie,而实际上只有一个域和一个身份验证?
  • 切换到令牌认证?

那么,我错过了什么?处理这个问题的最佳方法是什么?

0 投票
3 回答
452 浏览

kubernetes - MySQL 环境变量不会在 Openshift V3 上填充

我正在 Openshift 容器上设置 MySQL 服务,但我无法从其他服务访问它。

根据文档(https://docs.openshift.com/online/dev_guide/environment_variables.html#automatically-added-environment-variables),创建服务时,X_SERVICE_HOST会将X__SERVICE_PORT环境 vbles 填充到其余服务中,但我似乎无法从我的 Java 服务访问它们(使用文件${MYSQL_SERVICE_HOST}上的占位符.properties)。

以前我可以使用Cluster IP服务定义上的值连接到 MySQL 数据库,但它也不起作用,我尝试在我的 Java 服务上导入 mysql 密钥,该服务应该导入环境变量,例如用户名、密码等,但它不导入主机名和端口。

如该线程(https://github.com/openshift/origin/issues/10401)中所述,我尝试创建一个名为的 MySQL 服务MYSQL,但由于大写字母而失败。

我应该如何将 env vbles 传播到其他服务?

谢谢你。

/编辑:问题终于解决了,MySQL URL 连接格式错误,在我修复 vbles 正确传播后,它在某处包含额外内容。

0 投票
2 回答
2300 浏览

maven - Openshift:构建映像时,Fabric 部署失败

我正在尝试使用 Fabric8 Maven 插件部署示例项目。 https://github.com/jbossdemocentral/katacoda-fuse-getting-started.git

我在远程机器上有一个启动并正在运行的 Openshift 环境,我正在使用“oc login .....”连接到它

本地开发机器设置:有 docker、maven。oc安装。

当我从命令提示符运行示例项目“mvn fabric8:deploy”时,构建失败并出现

我按照 Redhat 站点中给出的说明,使用 docker、oc 设置本地环境,并通过 oc login 从本地机器访问 Openshift 环境。另外,我对远程运行的 openshift 环境了解不多,我只有 openshift 控制台和从本地机器连接的令牌。

所以,现在我的问题是

  1. 在本地机器中使用 fabric8 是否需要任何额外的设置?

  2. 如前所述,我不知道是否在 openshift 平台上安装了 fabric8。是否必须在 openshift 设置中使用 fabric8,或者 openshift 开箱即用。

  3. 我检查了 openshift 控制台,它有“jboss-fuse-6/fis-java-openshift:2.0”图像流。我是否需要获取 openshift 平台的 docker 内部存储库 url,是否需要在源代码中的某个地方进行配置?在日志“ https://registry-1.docker.io/v2/jboss-fuse-6/fis-java-openshift/manifests/2.0 ”中,这是从哪里来的——我似乎在源代码中找不到这个配置。fabric8 会自动连接到 openshift env 的内部 docker 注册表吗?

  4. 当“mvn fabric8:deploy”运行时,我的理解是“项目在本地编译,本地docker连接到Openshift环境并拉取基础镜像(在本例中为'jboss-fuse-6/fis-java-openshift:2.0 ') 到本地机器并构建最终映像并部署到 openshift 环境”。这是正确的还是 - 它是另一个,即springboot jar,docker镜像是在openshift平台内构建并部署的?

  5. 我在 openshift 中的个人资料是否也需要访问内部 Openshift 注册表才能拉取 docker 映像?

有人可以澄清疑问并帮助解决这个问题吗?

0 投票
2 回答
385 浏览

openshift - 如何授予用户在 OpenShift Online Pro 中标记图像的能力?

我已经设置了一个具有“视图”角色的协作者帐户。我现在想授予该用户使用oc tag.

按照这些说明,我有:

然后我oc project进入我想要授予角色的项目并将其导入:

$ oc create -f role_edittags.yaml role "edittags" created

当我尝试将其授予用户时,出现错误:

$ oc policy add-role-to-user edittags myuser Error from server (NotFound): rolebindings.authorization.openshift.io "edittags" not found

如何oc tag向用户授予权限?

谢谢!

更新:

registry-editor我在上面的链接上的“示例 1”中找到了一个预先存在的角色,它可以完成这项工作:

$ oc policy add-role-to-user registry-editor myuser role "registry-editor" added: "myuser"

如果没有现成的角色,我仍然很想知道如何创建自定义角色。再次感谢!