OpenShift Online v3+ - 添加新路线会出现禁止错误

OpenShift Online v3+ - Adding new route gives forbidden error

我在 OpenShift Online(Starter Plan,美国弗吉尼亚州服务器)上成功安装了一个 Java Web 应用程序(具有 MySQL 持久服务)。运行时间为 Tomcat。我设法从外部 Git 存储库(此外通过 ssh 身份验证)构建 WAR 并将应用程序部署到容器。它可以从自动生成的路由到达,但是我在设置一个链接到 www 域的自定义新路由时遇到了一个奇怪的错误。消息如下:

路由无效:spec.host:禁止访问:您无权设置路由的主机字段。

我想这是一个平台错误,但不知道如何解决(如果可能)。有什么想法吗?非常感谢。

这意味着 支持自定义域 用于非初学者 (Pro) 计划。使用入门计划,您不能指定域名。

我在 OKD 4 上收到相同的错误消息。

Forbidden: you do not have permission to set host fields in ingress rules

根本原因是由路由管理的入口和路由需要额外的 ClusterRole 设置来更新这些字段。

Allow route spec.host to be controlled by permission 于 2017/3 合并

因此我们需要为要更新入口的服务帐户添加额外的权限

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: foobar-openshift-ingress
rules:
- apiGroups: ["route.openshift.io"]
  resources: ["routes", "routes/custom-host"]
  verbs:  ["create", "patch"]

将此 ClusterRole 绑定到您的服务帐户,一切正常。