问题标签 [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.
kubernetes - Kubernetes/OpenShift 中的 allowPrivilegeEscalation=true 和 RequiredDropCapabilities=SETUID
我在这里阅读了这些描述: https ://kubernetes.io/docs/concepts/policy/pod-security-policy/#privilege-escalation
而且我仍然很困惑这些是否相同但相反的设置?例如,在 OpenShift 的restricted
SCC 中,我们将SETUID
其作为RequiredDropCapabilities
. 同时,在同一个 SCC 中,我们有allowPrivilegeEscalation
=true。
一个不允许在其他用户下启动进程,而另一个允许该进程?
这是我在allowPrivilegeEscalation
=true 上读到的:
这默认为允许,以免破坏 setuid 二进制文件
对于SETUID:
setuid() 设置调用进程的有效用户ID
(来自http://man7.org/linux/man-pages/man2/setuid.2.html)
有人可以向我解释一下吗?
openshift - 如何将 docker 文件迁移到 okd/openshift 模板?
我有以下工作dockerfile,
我如何为此设计一个 okd/openshift 模板 yaml/json?我更喜欢一个模板,其中 docker image-build 将在模板本身中处理,而不是使用 docker build 构建图像并在模板中使用带有标签的图像名称。
okd - 无法删除与 JenkinsX 中微服务部署的掌舵版本关联的持久卷 (PV)
概括:
我已经通过 JenkinsX 在 OKD 集群中部署了一个微服务,并试图在部署后立即删除与 helm 版本关联的持久卷 (PV)。所以我从 jx 文档中找到了以下命令,
重现行为的步骤:
使用带有发布名称的 jx preview 命令部署服务,
预期行为:
jx 步骤 helm delete 应该删除与微服务部署关联的持久卷 (PV)。
实际行为:
上述删除命令无法删除导致升级到暂存构建失败并出现端口错误的 PV。
Jx版本:
jx 版本的输出为:
詹金斯类型:
[] 无服务器 Jenkins X 流水线(Tekton + Prow)
[*] 经典詹金斯
Kubernetes 集群:
具有 1 个主节点和 2 个工作节点的 Openstack 集群。
我需要通过 jx 的 jenkinsfile 删除 PV,所以尝试使用,
但没有任何帮助。所以,无论如何,请建议我可以通过 jx 的 Jenkinsfile 删除 PV。
kubernetes - OKD 无法在通过 Jenkinsx 部署微服务后立即从内部注册表中提取较大的图像
我正在尝试通过 Jenkinsx 在 OKD 中部署微服务,并且每次部署都成功。
但是 Pod 在部署后立即进入“ImagePullBackOff”错误,并在删除 pod 后进入运行状态。
ImagePullBackOff 错误:
事件:
图像是从 OKD 的内部注册表中提取的,图像大小为“1.25 GB”。当 pod 尝试拉取图像时,图像在内部注册表中可用。
我遇到了要在所有节点的“/etc/origin/node/node-config.yaml”中更新的“image-pull-progress-deadline”字段。在所有节点中更新相同但仍然面临相同的“ImagePullBackOff”错误。
我正在尝试重新启动 kubelet 服务,但失败并出现 kubelet.service not found 错误,
请让我知道是否需要重新启动 kubelet 服务以及解决“ImagePullBackOff”问题的任何建议。
openshift - 公开注册表的 OpenShift 权限问题
我正在尝试使用以下命令公开 docker-registry:
但是,对于我登录的当前用户,我在输出中遇到“禁止”消息的权限问题。用户具有“管理员”权限。我是 OpenShift 新手,仍在学习。有人可以为我指出如何使用上述命令公开注册表服务的正确方向吗?看起来我可能需要“集群管理员”访问权限才能执行此操作,但不确定如何更改或添加当前用户的角色。
openshift - openshift库存文件将节点定义为主节点和infra-node
问题1:是否可以将节点定义为主节点和基础节点?如果可能的话,这是如何在库存文件中完成的?
问题 2:我们对放置 etcd、注册表、路由器的位置有限制吗?或者我们可以将它们放在主节点或基础节点中吗?
docker - OpenShift docker push 500 内部服务器错误
我正在运行 OpenShift 3.11 版本并遵循本文档中的说明:https ://docs.openshift.com/container-platform/3.11/install_config/registry/accessing_registry.html
但是,每当我运行以下命令时,都会看到错误:
我还检查了注册表日志的输出:
它脱口而出巨大的输出,但这是引起我注意的地方:
因此,我很困惑为什么会收到此权限问题。根据文档,它应该可以工作并且不需要图像流,我应该能够将 docker 图像直接推送到注册表中。有谁知道我在这里缺少什么?
编辑:
以下是整个设置的完整列表命令:
编辑2:当我使用以下命令创建注册表时,即使我事先将其删除,我也会收到一些它已经存在的错误:
我确实删除了它们,因为我多次重复这些步骤来找出这个问题的原因。你觉得这个输出看起来很麻烦吗?
编辑 3:来自错误消息的更多信息:
findBlobStore: 无法访问图像流 myproject/busybox: ImageStream:Forbidden: Exists: 无法获取图像流 myproject/busybox: ImageStreamGetter:Forbidden: myproject/busybox: imagestreams.image.openshift.io \"busybox\" 被禁止:用户\"system:serviceaccount:myproject:registry\" 无法在命名空间 \"myproject\" 中获取 imagestreams.image.openshift.io:没有匹配的 RBAC 策略"
docker - docker storage 后端和容器生成的数据存储
我正在学习 Docker 存储,但我有点困惑
问题 1:
我们是否为每个 docker 主机 1 个后端存储(用于存储图像层和容器的可写层)?
如果我们配置一个容器生成的数据存储(以持久化容器写入的数据(卷、绑定挂载、tmpfs 挂载)),我们将有 2 个存储(后端和容器生成的数据存储)还是只有一个店铺 ?
问题 2:假设我们已经配置了一个卷来持久化容器生成的数据,即使容器被移除,它是否仍将是一个联合 fs 层,即使容器被移除,它也会被持久化?
问题 3:容器是可运行的镜像,但你能具体解释一下它们是什么吗?它们只是一个 unionFs 层吗?
问题 4:
如果我们卸载或停止 docker,环回设备上的精简池是保存还是删除?
如果我们在逻辑卷上配置一个精简池并卸载 docker,我们还会在逻辑卷上保留图像和容器生成的数据吗?
问题 5:我们如何配置 docker 在远程机器上使用组卷(或逻辑卷)?
问题6:为kubernetes/okd/openshift cluser配置的持久化存储和为docker配置的持久化存储有什么不同,docker存储的配置与kubernetes的配置是否冲突? https://docs.okd.io/latest/install_config/persistent_storage/index.html https://docs.okd.io/latest/install_config/persistent_storage/index.html
kubernetes - 使用“oc delete secret”的 Openshift 安全删除
安全审计人员要求我解释oc delete secret
他们想要确定的基本过程是,例如,一旦删除,取证工具就无法恢复秘密。
提前感谢您的任何意见。
docker - 找出内部 OpenShift 注册表 IP 或 URL
我使用oc cluster up设置了一个 OpenShift 集群。现在我想直接访问内部注册表,但找不到正确的 url。我已经为此搜索了很多,但似乎所有潜在的解决方案都没有指出我找到正确的方法。我希望有类似 docker-registry.:5000 的东西,但是在使用它进行 docker 登录时连接被拒绝。我已经尝试过:
你能帮助我吗?
亲切的问候