问题标签 [okd]
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.
openshift - Openshift SCC 和 InitContainers
我想知道initContainers
inkubernetes
是否受到与应用程序容器相同的限制?具体来说,我想chown
在运行非 root 容器之前由 root 执行此操作是否适用于 Anyuid 或 Restricted SCC 配置文件?
openshift - 在 OpenShift 的 Restricted SCC 中以另一个用户身份运行进程
Restricted
有没有办法在SCC下运行的容器中运行进程OpenShift
?鉴于受限 SCC 已在其能力中SETUID
列出。Drop
是否有推荐或非官方的解决方法?
openshift - OKD(OpenShift Origin)可以安装在 RHEL 8 上吗?
OpenShift Origin (OKD) 可以安装在 RHEL 8 上吗?文档说明最小 RHEL 7.4 或更高版本:https ://docs.okd.io/latest/install/prerequisites.html
但是,RHEL 8 似乎是与商业 OpenShift 4 相当的重大返工。所以我认为安装 OKD 的最佳 RHEL 版本是 RHEL 7.6。我对么?
jboss - 应用程序在 eap 6.4 上停止工作,但启用/禁用数据源,重新加载然后工作
我有部署在 Jboss eap 6.4 容器上的应用程序。应用程序与 postgres 建立连接。我正在观察我的 Web 应用程序停止工作(无法从数据库中获取数据)。但如果启用/禁用数据源,则从 jboss cli 重新加载。它工作了一段时间。请提出相同的建议。
尝试合并最小/最大池大小,后台验证为真。
容器日志中没有错误显示
kubernetes - openshift 3.11 安装失败 - 无法更新 cni 配置:在 /etc/cni/net.d 中找不到网络”,
我正在尝试在一个主节点、一个工作节点设置上安装 Openshift 3.11。
安装失败,我可以看到journalctl -r
:
我尝试过的事情:
- 重启主节点
- 确保与所有节点上
hostname
的相同hostname -f
- 禁用主节点上的 IP 转发,如https://github.com/openshift/openshift-ansible/issues/7967#issuecomment-405196238和https://linuxconfig.org/how-to-turn-on-off-ip中所述-在 Linux 中转发
- 如https://stackoverflow.com/a/54779881/265119所述,在主节点上应用 kube-flannel
unset http_proxy https_proxy
在主节点上,如https://github.com/kubernetes/kubernetes/issues/54918#issuecomment-385162637所述- 修改
/etc/resolve.conf
为 havenameserver 8.8.8.8
,如https://github.com/kubernetes/kubernetes/issues/48798#issuecomment-452172710中所述 { "cniVersion": "0.2.0", "name": "openshift-sdn", "type": "openshift-sdn" }
如https://stackoverflow.com/a/55743756/265119所述,创建了一个带有 content 的文件 /etc/cni/net.d/80-openshift-network.conf
最后一步似乎确实允许主节点准备就绪,但是 ansible openshift 安装程序仍然失败并显示Control plane pods didn't come up
.
有关问题的更详细描述,请参阅https://github.com/openshift/openshift-ansible/issues/11874
kubernetes - 在 openshift OKD 中使用 initContainer 初始化配置
我正在尝试运行 gitea 1.8.3,它现在习惯于将生成的 JWT 令牌写入其自己的 app.ini 文件。以前 app.ini 文件可以从 ConfigMap 以只读方式挂载。现在我需要以某种方式用一些数据填充 app.ini 文件,但还要让应用程序写入该文件。
我正在尝试让 initContainer 写出安装在主应用程序中的配置。这在这里解释。当我使用 minishift 尝试该示例时,它告诉我由于安全限制,我无法安装 hostPath。我不想放松安全性,所以我试图将配置放入 PVC 中。这是脚本:
这很好,但是当我使用 minishift Web 控制台进入 pod 中的终端并运行ls -al /data
pvc 时,它是空的。控制台显示 initContainer 运行成功。
为什么 initContainer/data
没有填充 pvc 文件夹?
我在跑步:
该服务器是运行 opensheft 3.11 的 minishift,其开头为:
openshift - `oc cluster up` 时的问题
当我使用时oc cluster up
,它无法安装它需要的所有组件。
重启docker,没有任何改变
环境
错误日志
openshift - 如何授予 OpenShift 用户对所有内容的只读权限?
在安装 OKD 时,我想授予用户绝对查看通过 API 可用的任何资源的权限。据我所知,我最好的选择是创建一个用户并执行
oc adm policy add-cluster-role-to-user cluster-reader <user>
给用户集群读者角色。
但是,通过阅读文档,我仍然不清楚该用户可以从此处的 145 个 GET 端点和此处的 116 个端点访问绝对可用的所有内容
在一个示例中,我让管理员在 /oapi/v1/clusterpolicies 上执行 GET 并接收
{“种类”:“状态”,“apiVersion”:“v1”,“元数据”:{
},“状态”:“失败”,“消息”:“服务器找不到请求的资源”,“原因”:“未找到”,“详细信息”:{
},“代码”:404
但是,当我创建的用户只是为了添加 cluster-reader 时,与该用户执行相同的调用会返回:
{“种类”:“状态”,“apiVersion”:“v1”,“元数据”:{
}, "status": "Failure", "message": "clusterpolicies is disabled: User \"\" cannot list clusterpolicies at the cluster scope: no RBAC policy matching",
"reason": "Forbidden", "details": {“种类”:“集群策略”},“代码”:403
诸如此类的示例是否只是资源的错误代码的差异,无论如何都不存在,或者如果我真的希望它完全读取所有内容,我是否缺少我的用户的角色?
kubernetes - 上游 k8s 上的 OpenShift Web UI
最近我发现,可以在上游 k8s 上运行 OpenShift Web UI
这可能吗?我知道项目是事实上的命名空间,但是对原生 k8s API 有任何回退/回调吗?(至少路线不会明确工作......)
例如:
- https://github.com/operator-framework/operator-lifecycle-manager#user-interface
- https://github.com/kubevirt/web-ui#native-kubernetes
- https://github.com/openshift/console#native-kubernetes
这里没有提到上游 k8s:
控制台操作员: https ://github.com/openshift/console-operator (似乎它> 4.X版本)
登记处:
https://hub.docker.com/r/openshift/origin-console-operator/tags
https://quay.io/repository/openshift/origin-console-operator?tab=tags
独立: https ://github.com/openshift/console (版本> = 3.X)
登记处:
谁能告诉我更多?
或者有没有人在上游 k8s 上成功使用 openshift ui?
PS 我不想部署 openshift/okd 解决方案。
谢谢
java - 短暂不活动后,Openshift 服务不可用
我们将我们的项目托管在 OpenShift 中(准确地说是 OKD。我们自己托管)。设置如下:
路由服务器(带有 Zuul 的 Spring Boot 1.5.8):这个服务器接收所有传入流量并将其路由到正确的服务
多个服务(全部使用 Spring Boot):这是所有的业务逻辑
我们使用 SOAP 来调用这个项目中的其他服务。
目前,当我们调用应用程序时,调用会转到路由服务器,然后路由服务器将其路由到主要业务服务。在大约一小时的短暂不活动后,我们的主要业务服务无法通过外部呼叫访问。然而,边缘服务器 100% 的时间都是可用和可调用的。504 Gateway Timeout
当我们调用它时,我们确实从系统中得到了一个异常。我们已经弄清楚这是openshift中路由的超时时间(haproxy.router.openshift.io/timeout
在路由中)。
核心问题是,OpenShift 似乎在大约一小时不活动后休眠主要业务服务。然而,在延迟 15 分钟后,呼叫似乎找到了目的地,并且数据得到了正确处理。
我们如何才能关闭这种行为?
编辑1:
- 我们在生产中的普通“老式”虚拟机中有相同的应用程序。我们在那里没有任何问题。
- 我们注意到,当我们定期调用服务时,它们可以“保持活跃”。我们构建了一个小型服务,它定期调用主题(每 15 分钟一次)。这种方式似乎有效。但这不是 IMO 的生产就绪解决方法。
编辑2:
我们的 pod 配置(一些名称是匿名的):
https://gist.github.com/moritzluedtke/6867499b0acbb2d7b5a9a70e49b0d45c
我们不使用自动缩放器。
编辑3:
我们的部署配置(一些名称是匿名的):
https://gist.github.com/moritzluedtke/dc7c1078fe9cc7e4aeb737094849fc1b
编辑4:
似乎这不是 OpenShift 的问题,而是我们的技术堆栈的问题。一旦我们有解决方案,我会更新这个问题。