API 概述
OpenShift Container Platform API 概述内容
摘要
第 1 章 了解 API 层
这个指南不包括层次的 OpenShift Container Platform 产品。
对于与硬件交互的任何功能外,裸机配置的 API 层也适用于虚拟化配置。与硬件直接相关的这些功能没有应用程序操作环境(AOE)兼容性级别,但由硬件供应商提供。例如,依赖图形处理单元(GPU)功能的应用程序会受到 GPU 供应商驱动程序提供的 AOE 兼容性。
适用于云特定集成点的云环境中的 API 层没有 API 或 AOE 兼容性级别,而不受托管云供应商提供的。例如,用于进行计算、入口或存储动态管理的 API 依赖于云平台提供的底层 API 功能。如果云供应商修改先决条件 API,红帽会提供合理的努力来维护对 API 的支持,同时具备云基础架构供应商所提供的功能。
红帽要求应用程序开发人员验证他们所依赖的所有行为是否在正式的 API 文档中明确定义,以防止引入特定实施特定行为或对 API 特定实施错误的依赖项。例如,如果应用程序使用未文档化的 API 或依赖于未定义行为,则入口路由器的新版本可能无法与旧的版本兼容。
1.1. API 层
所有商业支持的 API、组件和功能都与以下支持级别之一相关联:
API 层 1
API 和应用程序操作环境(AOE)在主发行版本中保持稳定。它们在主版本中可能被弃用,但在后续的主发行版本前不会删除它们。
API 层 2
API 和 AOEs 在主发行版本中至少为 9 个月或 3 个次版本的发布周期(以更长的时间为准)。
API 层 3
此级别适用于 OpenShift Container Platform 通过 Operator Hub 附带的语言、工具、应用程序和可选 Operator。每个组件都将指定一个生命周期,在其中支持 API 和 AOE。较新的语言运行时组件版本将尽量作为 API 和 AOE 兼容次版本。但是,无法保证次版本的兼容性。
通过 Operator Hub 接收持续更新的组件和开发人员工具(称为 Operator 和操作对象)应该被视为 API 层 3。开发人员应谨慎使用,并了解这些组件如何在每个次发行版本中改变。我们鼓励用户参考组件所记录的兼容性指南。
API 层 4
不提供兼容性。API 和 AOE 可在任何时候更改。这些功能不应由需要长期支持的应用程序使用。
Operator 在内部使用自定义资源定义 (CRD) 来完成任务是常见的。这些对象并应由 Operator 外部执行者使用,它旨在隐藏。如果任何 CRD 没有被 Operator 外部执行者使用,则 Operator ClusterServiceVersion
(CSV)中的 operators.operatorframework.io/internal-objects
注解应指定给对应资源使用范围,并且 CRD 可能会明确标记为层 4。
1.2. 将 API 层映射到 API 组
对于由红帽定义的每个 API 层,我们为上游社区致力于保持向前兼容性的特定 API 组提供映射表。默认情况下,任何没有指定显式兼容性级别且未特别讨论的 API 组都会被分配 API 层 3,但 v1alpha1
API 默认被分配层 4。
1.2.1. 支持 Kubernetes API 组
以后缀 *.k8s.io
结尾的 API 组,或带有任何后缀的 version.<name>
均由 Kubernetes 弃用策略管理,并遵循公开和对应的支持层之间的通用映射,除非另有指定。
API 版本示例 | API 层 |
---|---|
| 1 级 |
| 2 级 |
| 4 级 |
1.2.2. 支持 OpenShift API 组
以后缀 *.openshift.io
结尾的 API 组由 OpenShift Container Platform 弃用策略管理,并遵循公开和对应的兼容性级别之间的通用映射,除非另有指定。
API 版本示例 | API 层 |
---|---|
| 1 级 |
| 1 级,某些 1 级已弃用 |
| 1 级,某些 1 级已弃用 |
| 1 级 |
| 1 级 |
| 1 级 |
| 1 级 |
| 1 级 |
| 1 级 |
| 1 级 |
| 1 级 |
| 1 级 |
| 1 级 |
|
1 级,除 |
| 1 级 |
| 2 级 |
1.2.3. 对监控 API 组的支持
以后缀 monitoring.coreos.com
结尾的 API 组有以下映射:
API 版本示例 | API 层 |
---|---|
| 1 级 |
| 1 级 |
| 1 级 |
1.2.4. 支持 Operator Lifecycle Manager API 组
Operator Lifecycle Manager (OLM) 提供了 API,它包含后缀为 operators.coreos.com
的 API 组。这些 API 有以下映射:
API 版本示例 | API 层 |
---|---|
| 1 级 |
| 1 级 |
| 1 级 |
1.3. API 弃用策略
OpenShift Container Platform 由多个来自上游社区提供的组件组成。因此,我们预计许多组件、关联的 API 接口和关联的功能集合将随着时间推移而有所变化,并且在功能被完成删除前会提供一个弃用的阶段。
1.3.1. 弃用的 API 部分
OpenShift Container Platform 是一个分布式系统,多个组件通过一组结构化 API 与由集群 control plane 管理的共享状态交互。根据 Kubernetes 惯例,OpenShift Container Platform 提供的每个 API 与组标识符相关联,每个 API 组都是独立版本控制。每个 API 组都在不同的上游社区中管理,包括 Kubernetes、Metal3、Multus、Operator Framework、Open Cluster Management、OpenShift 本身等。
虽然每个上游社区可能会为给定的 API 组和版本定义自己的唯一弃用策略,但红帽会将社区特定策略规范化为之前定义的兼容性级别之一,具体取决于我们的集成和认知,以简化最终用户消费和支持。
API 的弃用策略和调度因兼容性级别而异。
弃用策略涵盖 API 的所有元素,包括:
- REST 资源,也称为 API 对象
- REST 资源的字段
- REST 资源的注解,不包括特定于版本的限定符
- Enumerated 或 constant 值
除每个组中最新的 API 版本外,在宣布弃用后,必须支持旧的 API 版本,且时间不少于:
API 层 | Duration |
---|---|
1 级 | 在一个主版本内是稳定的。它们在主版本中可能被弃用,但在后续的主发行版本前不会删除它们。 |
2 级 | 从公布弃用后的 9 个月或 3 个发行版本(以更长的时间为准)。 |
3 级 | 请参阅特定于组件的调度。 |
4 级 | 无。无法保证兼容性。 |
以下规则适用于所有 1 级 API:
- API 元素只能通过递增组版本来删除。
- API 对象必须能够在没有信息丢失的情况下在 API 版本之间往返,除非整个 REST 资源在某些版本中不存在。如果在版本之间没有对等的字段,数据将在转换过程中以注解的形式保留。
- 一个特定组中的 API 版本在新的 API 版本至少发行了一个稳定的版本前不会被弃用,除非整个 API 对象已被删除。
1.3.2. 弃用的 CLI 元素
对于面向客户端的 CLI 命令,它们的版本模式与 API 不同,它们是面向用户的组件系统。用户与 CLI 交互的两种主要方法是通过命令或标志(在此上下文中称为 CLI 元素)。
除非另有说明,否则所有 CLI 元素都默认为 API 层 1,除非另有说明或 CLI 依赖于较低层 API。
元素 | API 层 | |
---|---|---|
正式发布(GA) | 标志和命令 | 1 级 |
技术预览 | 标志和命令 | 3 级 |
开发者预览 | 标志和命令 | 4 级 |
1.3.3. 弃用整个组件
弃用整个组件的持续时间和调度直接映射到与该组件公开的 API 的最高 API 层关联的持续时间。例如,在满足第 1 层弃用计划前,无法删除带有级别 1 和 2 的 API 的组件。
API 层 | Duration |
---|---|
1 级 | 在一个主版本内是稳定的。它们在主版本中可能被弃用,但在后续的主发行版本前不会删除它们。 |
2 级 | 从公布弃用后的 9 个月或 3 个发行版本(以更长的时间为准)。 |
3 级 | 请参阅特定于组件的调度。 |
4 级 | 无。无法保证兼容性。 |
第 2 章 了解 API 兼容性指南
这个指南不包括层次的 OpenShift Container Platform 产品。
2.1. API 兼容性指南
红帽建议应用程序开发人员使用以下原则来改进与 OpenShift Container Platform 的兼容性:
- 使用与应用需求匹配的 API 和组件,支持层。
- 尽可能使用公布的客户端库构建应用程序。
- 只有应用程序在作为新环境构建的环境中执行时,才能保证正确运行。为 OpenShift Container Platform 4.14 构建的应用程序无法保证在 OpenShift Container Platform 4.13 上正常工作。
- 不要设计依赖于系统软件包或其他组件提供的配置文件的应用程序。除非上游社区明确提交来保留它们,否则这些文件可以在不同版本之间更改。在适当的情况下,依靠任何红帽在这些配置文件中提供接口抽象,以便保持向前兼容性。不鼓励直接修改配置文件,强烈建议用户与提供的 API 集成,以避免双写器冲突。
-
不要依赖于以
unsupported<FieldName>
或在产品文档中未明确提及的注解作为前缀的 API 字段。 - 不要依赖于比您的应用程序更短的兼容性保证。
- 不要在 etcd 服务器上执行直接存储操作。所有 etcd 访问都必须通过 api-server 或记录的备份和恢复步骤执行。
红帽建议应用程序开发人员遵循 Red Hat Enterprise Linux (RHEL)定义的兼容性指南。OpenShift Container Platform 强烈推荐,在构建应用程序或在一个平台上托管应用程序时,遵循以下准则:
- 不要依赖于特定的 Linux 内核或 OpenShift Container Platform 版本。
-
避免从
proc
、sys
和debug
文件系统,或任何其他伪文件系统读取。 -
避免使用
ioctls
直接与硬件交互。 -
避免直接与
cgroups
交互,以不与提供容器执行环境的 OpenShift Container Platform host-agents 冲突。
在发行版本的生命周期中,红帽采取商业合理的努力来维护所有次发行版本和 z-stream 版本中的 API 和应用程序操作环境 (AOE) 兼容性。但是如有必要,红帽会就安全影响级别为“关键(Critical)”的安全问题或者其他严重问题在兼容性方面做例外处理。
2.2. API 兼容性例外
以下是 OpenShift Container Platform 中兼容性的例外:
RHEL CoreOS 文件系统修改没有由支持的 Operator 进行
此时,对主机操作系统的修改会在次发行版本间保留任何保证,除非这个修改是通过受支持的 Operator 公开的公共接口(如 Machine Config Operator 或 Node Tuning Operator)进行的修改。
在云或虚拟化环境中修改集群基础架构
在此时,不会保留对支持集群的云托管环境的修改,除非修改是通过产品中公开的公共接口进行的,或者作为受支持的配置进行。集群基础架构供应商负责保留其云或虚拟化基础架构,除非他们通过 API 将该授权委派给产品。
升级的集群和新安装之间的功能默认
目前,产品次版本的新安装功能与之前次版本一起安装的产品版本相同,不会进行保证。例如,未来版本的产品可能会置备云基础架构,其默认值与之前的次版本不同。此外,未来版本的产品中可能会进行不同的默认安全选择。产品的过去版本将会向前升级,但仍然保留了旧的选择,以便保持向后兼容性。
使用前缀 "unsupported" 或 undocumented 注解的 API 字段
在产品公开字段中,选择带有前缀 unsupported<FieldName>
的 API。不保证,目前在不同版本间或一个版本内支持使用这个字段。产品支持可在调试特定问题时请求在此字段中指定值,但在该交互之外不支持其使用。在未明确记录的对象中使用注解在次版本间不会保证支持。
每个产品安装拓扑的 API 可用性
OpenShift 发行版将继续演进其支持的安装拓扑,且不是一个安装拓扑中的所有 API 都必须包含在另一个安装中。例如,如果某些拓扑与产品安装拓扑冲突,或者根本不包括特定的 API,则某些拓扑可能会限制对特定 API 的读/写访问。根据上面定义的兼容性层,支持给定拓扑中存在的 API。
2.3. API 兼容性常见术语
2.3.1. 应用程序编程接口 (API)
API 是一个由软件程序实现的公共接口,它允许它与其他软件交互。在 OpenShift Container Platform 中,API 从集中式 API 服务器提供,用作所有系统交互的中心。
2.3.2. 应用程序操作环境 (AOE)
AOE 是执行最终用户应用程序程序的集成环境。AOE 是一个容器化环境,提供与主机操作系统 (OS) 隔离的。至少,AOE 允许应用程序以独立于主机操作系统库和二进制文件运行,但仍然与主机上的所有其他容器共享相同的 OS 内核。AOE 在运行时强制执行,它描述了应用程序及其操作环境之间的接口。它包括平台操作系统和环境的交集点,以及用户应用程序,包括 Downward API、DNS、资源核算、设备访问、平台工作负载身份、容器之间隔离、容器和主机操作系统之间的隔离。
AOE 不包括安装可能会有所不同的组件,如 Container Network Interface (CNI) 插件选择或对产品的扩展,如准入 hook。在容器环境下面的级别与集群集成的组件可能会受到不同版本之间的其他变化。
2.3.3. 虚拟化环境中的兼容性
虚拟环境模拟裸机环境,这样在裸机环境中运行的非特权应用程序将在对应的虚拟环境中运行。虚拟环境改进了物理资源的抽象视图,因此可能存在一些差异。
2.3.4. 云环境中的兼容性
OpenShift Container Platform 可以选择通过云提供商特定集成提供与托管云环境的集成点。这些集成点的兼容性特定于原生云供应商提供的保证,以及它们与 OpenShift Container Platform 兼容性窗口的交集。当 OpenShift Container Platform 作为默认安装中原生提供云环境的集成,红帽针对稳定的云 API 端点开发,以提供合理的支持,支持包含稳定弃用策略的前向兼容性。云提供商与 OpenShift Container Platform 之间的集成示例包括:但不仅限于动态卷配置、服务负载均衡器集成、pod 工作负载身份、计算的动态管理,以及作为初始安装的一部分调配的基础架构。
2.3.5. 主版本、次版本和 z-stream 版本
红帽主发行版本代表了开发产品的显著步骤。次发行版本会出现在主发行版本范围内,并代表弃用界限可能会影响将来的应用程序兼容性。z-stream 版本是次版本的更新,它为关联的次版本提供持续修复流。API 和 AOE 兼容性永远不会在 z-stream 版本中中断,除非明确覆盖此策略以响应不可预见的安全影响。
例如,在版本 4.13.2 中:
- 4 是主版本
- 13 是一个次版本
- 2 是 z-stream 版本
2.3.6. 扩展的用户支持 (EUS)
OpenShift Container Platform 主发行版本中有一个小版本,其具有对关键程序错误修复的扩展支持窗口。通过在 EUS 版本之间使用次版本,用户可以在 EUS 版本之间迁移 EUS 版本。请注意,弃用策略是在次发行版本中定义,而不是 EUS 版本。因此,在通过每个次版本按顺序升级时,EUS 用户可能需要在迁移到将来的 EUS 时响应弃用。
2.3.7. 开发者预览
可选的产品功能不受红帽官方支持,但旨在提供探索早期阶段技术的机制。默认情况下,开发人员预览功能是 opt-in,可以随时删除。启用开发人员预览功能可能会导致集群无法支持,这取决于该功能的范围。
2.3.8. 技术预览
提供即将推出的产品创新的可选产品功能,以测试功能并在开发过程中提供反馈。这个功能没有被完全支持,可能无法正常工作,且不适用于生产环境。使用技术预览功能需要明确选择。了解有关 技术预览功能支持范围 的更多信息。
第 3 章 编辑 kubelet 日志级别详细程度和收集日志
要排除节点的一些问题,请根据要跟踪的问题建立 kubelet 的日志级别详细程度。
3.1. 将 kubelet 修改为一次性场景
要在不重启节点的一次性场景中修改 kubelet,因为 machine-config(spec":{"paused":false}})
的变化,允许您在不影响该服务的情况下修改 kubelet,请按照以下步骤执行。
流程
以 debug 模式连接到节点:
$ oc debug node/<node>
$ chroot /host
或者,也可以 SSH 连接到节点,并成为 root 用户。
建立访问后,检查默认日志级别:
$ systemctl cat kubelet
输出示例
# /etc/systemd/system/kubelet.service.d/20-logging.conf [Service] Environment="KUBELET_LOG_LEVEL=2"
定义新的
/etc/systemd/system/kubelet.service.d/30-logging.conf
文件中所需的新详细程度,该文件会覆盖/etc/systemd/system/kubelet.service.d/20-logging.conf
。在本例中,详细程度从2
改为8
:$ echo -e "[Service]\nEnvironment=\"KUBELET_LOG_LEVEL=8\"" > /etc/systemd/system/kubelet.service.d/30-logging.conf
重新载入 systemd 并重启服务:
$ systemctl daemon-reload
$ systemctl restart kubelet
收集日志,然后恢复日志级别增加:
$ rm -f /etc/systemd/system/kubelet.service.d/30-logging.conf
$ systemctl daemon-reload
$ systemctl restart kubelet
3.2. 持久性 kubelet 日志级别配置
流程
将以下
MachineConfig
对象用于持久性 kubelet 日志级别配置:apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: master name: 99-master-kubelet-loglevel spec: config: ignition: version: 3.2.0 systemd: units: - name: kubelet.service enabled: true dropins: - name: 30-logging.conf contents: | [Service] Environment="KUBELET_LOG_LEVEL=2"
通常,建议将
0-4
应用为 debug 级别的日志,5-8
作为追踪级别的日志。
3.3. 日志详细程度描述
日志详细程度 | 描述 |
---|---|
| 始终对 Operator 可见。 |
| 在您不希望详细程度时最好的默认日志级别。 |
| 有用的有关服务以及可能与系统中显著变化的重要日志消息相关的稳定状态信息。这是推荐的默认日志级别。 |
| 扩展有关更改的信息。 |
| 调试级别详细程度。 |
| 显示请求的资源。 |
| 显示 HTTP 请求标头。 |
| 显示 HTTP 请求内容。 |
3.4. 收集 kubelet 日志
流程
正确配置 kubelet 日志级别详细程度后,您可以通过运行以下命令来收集日志:
$ oc adm node-logs --role master -u kubelet
$ oc adm node-logs --role worker -u kubelet
或者,在节点内运行以下命令:
$ journalctl -b -f -u kubelet.service
要收集 master 容器日志,请运行以下命令:
$ sudo tail -f /var/log/containers/*
要直接收集所有节点的日志,请运行以下命令:
- for n in $(oc get node --no-headers | awk '{print $1}'); do oc adm node-logs $n | gzip > $n.log.gz; done
第 4 章 API 索引
API | API 组 |
---|---|
policy.networking.k8s.io/v1alpha1 | |
k8s.ovn.org/v1 | |
monitoring.openshift.io/v1 | |
monitoring.coreos.com/v1 | |
monitoring.coreos.com/v1beta1 | |
monitoring.openshift.io/v1 | |
apiserver.openshift.io/v1 | |
config.openshift.io/v1 | |
apiregistration.k8s.io/v1 | |
quota.openshift.io/v1 | |
config.openshift.io/v1 | |
operator.openshift.io/v1 | |
metal3.io/v1alpha1 | |
policy.networking.k8s.io/v1alpha1 | |
v1 | |
metal3.io/v1alpha1 | |
template.openshift.io/v1 | |
build.openshift.io/v1 | |
config.openshift.io/v1 | |
build.openshift.io/v1 | |
build.openshift.io/v1 | |
build.openshift.io/v1 | |
operators.coreos.com/v1alpha1 | |
certificates.k8s.io/v1 | |
operator.openshift.io/v1 | |
cloud.network.openshift.io/v1 | |
autoscaling.openshift.io/v1 | |
operator.openshift.io/v1 | |
config.openshift.io/v1 | |
quota.openshift.io/v1 | |
authorization.openshift.io/v1 | |
rbac.authorization.k8s.io/v1 | |
authorization.openshift.io/v1 | |
rbac.authorization.k8s.io/v1 | |
operators.coreos.com/v1alpha1 | |
config.openshift.io/v1 | |
v1 | |
imageregistry.operator.openshift.io/v1 | |
operator.openshift.io/v1 | |
samples.operator.openshift.io/v1 | |
v1 | |
config.openshift.io/v1 | |
operator.openshift.io/v1 | |
console.openshift.io/v1 | |
console.openshift.io/v1 | |
console.openshift.io/v1 | |
console.openshift.io/v1 | |
console.openshift.io/v1 | |
console.openshift.io/v1 | |
console.openshift.io/v1 | |
console.openshift.io/v1 | |
machineconfiguration.openshift.io/v1 | |
machineconfiguration.openshift.io/v1 | |
apps/v1 | |
machine.openshift.io/v1 | |
cloudcredential.openshift.io/v1 | |
batch/v1 | |
storage.k8s.io/v1 | |
storage.k8s.io/v1 | |
operator.openshift.io/v1 | |
storage.k8s.io/v1 | |
apiextensions.k8s.io/v1 | |
apps/v1 | |
metal3.io/v1alpha1 | |
apps/v1 | |
apps.openshift.io/v1 | |
apps.openshift.io/v1 | |
apps.openshift.io/v1 | |
apps.openshift.io/v1 | |
config.openshift.io/v1 | |
operator.openshift.io/v1 | |
ingress.operator.openshift.io/v1 | |
k8s.ovn.org/v1 | |
k8s.ovn.org/v1 | |
k8s.ovn.org/v1 | |
network.operator.openshift.io/v1 | |
k8s.ovn.org/v1 | |
v1 | |
discovery.k8s.io/v1 | |
operator.openshift.io/v1 | |
v1 | |
events.k8s.io/v1 | |
policy/v1 | |
config.openshift.io/v1 | |
metal3.io/v1alpha1 | |
flowcontrol.apiserver.k8s.io/v1 | |
user.openshift.io/v1 | |
metal3.io/v1alpha1 | |
helm.openshift.io/v1beta1 | |
autoscaling/v2 | |
metal3.io/v1alpha1 | |
metal3.io/v1alpha1 | |
user.openshift.io/v1 | |
config.openshift.io/v1 | |
image.openshift.io/v1 | |
config.openshift.io/v1 | |
operator.openshift.io/v1alpha1 | |
config.openshift.io/v1 | |
imageregistry.operator.openshift.io/v1 | |
image.openshift.io/v1 | |
image.openshift.io/v1 | |
image.openshift.io/v1 | |
image.openshift.io/v1 | |
image.openshift.io/v1 | |
image.openshift.io/v1 | |
image.openshift.io/v1 | |
image.openshift.io/v1 | |
config.openshift.io/v1 | |
config.openshift.io/v1 | |
config.openshift.io/v1 | |
networking.k8s.io/v1 | |
networking.k8s.io/v1 | |
operator.openshift.io/v1 | |
operator.openshift.io/v1 | |
operators.coreos.com/v1alpha1 | |
ipam.cluster.x-k8s.io/v1beta1 | |
ipam.cluster.x-k8s.io/v1beta1 | |
whereabouts.cni.cncf.io/v1alpha1 | |
batch/v1 | |
operator.openshift.io/v1 | |
operator.openshift.io/v1 | |
machineconfiguration.openshift.io/v1 | |
operator.openshift.io/v1 | |
operator.openshift.io/v1 | |
coordination.k8s.io/v1 | |
v1 | |
authorization.openshift.io/v1 | |
authorization.k8s.io/v1 | |
authorization.openshift.io/v1 | |
machine.openshift.io/v1beta1 | |
autoscaling.openshift.io/v1beta1 | |
machineconfiguration.openshift.io/v1 | |
machineconfiguration.openshift.io/v1 | |
operator.openshift.io/v1 | |
machine.openshift.io/v1beta1 | |
machine.openshift.io/v1beta1 | |
infrastructure.cluster.x-k8s.io/v1beta1 | |
infrastructure.cluster.x-k8s.io/v1beta1 | |
k8s.cni.cncf.io/v1beta1 | |
admissionregistration.k8s.io/v1 | |
v1 | |
config.openshift.io/v1 | |
operator.openshift.io/v1 | |
k8s.cni.cncf.io/v1 | |
networking.k8s.io/v1 | |
v1 | |
config.openshift.io/v1 | |
metrics.k8s.io/v1beta1 | |
config.openshift.io/v1 | |
oauth.openshift.io/v1 | |
oauth.openshift.io/v1 | |
oauth.openshift.io/v1 | |
oauth.openshift.io/v1 | |
operators.coreos.com/v1 | |
operator.openshift.io/v1 | |
operator.openshift.io/v1 | |
operators.coreos.com/v1 | |
operators.coreos.com/v2 | |
operators.coreos.com/v1 | |
config.openshift.io/v1 | |
network.operator.openshift.io/v1 | |
whereabouts.cni.cncf.io/v1alpha1 | |
packages.operators.coreos.com/v1 | |
performance.openshift.io/v2 | |
v1 | |
v1 | |
v1 | |
policy/v1 | |
metrics.k8s.io/v1beta1 | |
monitoring.coreos.com/v1 | |
controlplane.operator.openshift.io/v1alpha1 | |
security.openshift.io/v1 | |
security.openshift.io/v1 | |
security.openshift.io/v1 | |
v1 | |
metal3.io/v1alpha1 | |
scheduling.k8s.io/v1 | |
flowcontrol.apiserver.k8s.io/v1 | |
monitoring.coreos.com/v1 | |
tuned.openshift.io/v1 | |
config.openshift.io/v1 | |
project.openshift.io/v1 | |
helm.openshift.io/v1beta1 | |
project.openshift.io/v1 | |
monitoring.coreos.com/v1 | |
monitoring.coreos.com/v1 | |
metal3.io/v1alpha1 | |
config.openshift.io/v1 | |
security.openshift.io/v1 | |
apps/v1 | |
v1 | |
authorization.openshift.io/v1 | |
v1 | |
authorization.openshift.io/v1 | |
rbac.authorization.k8s.io/v1 | |
authorization.openshift.io/v1 | |
rbac.authorization.k8s.io/v1 | |
authorization.openshift.io/v1 | |
route.openshift.io/v1 | |
node.k8s.io/v1 | |
autoscaling/v1 | |
config.openshift.io/v1 | |
v1 | |
image.openshift.io/v1 | |
security.openshift.io/v1 | |
authorization.k8s.io/v1 | |
authentication.k8s.io/v1 | |
authorization.k8s.io/v1 | |
authorization.openshift.io/v1 | |
v1 | |
v1 | |
operator.openshift.io/v1 | |
monitoring.coreos.com/v1 | |
apps/v1 | |
operator.openshift.io/v1 | |
storage.k8s.io/v1 | |
migration.k8s.io/v1alpha1 | |
migration.k8s.io/v1alpha1 | |
authorization.k8s.io/v1 | |
authorization.openshift.io/v1 | |
authorization.openshift.io/v1 | |
operators.coreos.com/v1alpha1 | |
template.openshift.io/v1 | |
template.openshift.io/v1 | |
monitoring.coreos.com/v1 | |
authentication.k8s.io/v1 | |
authentication.k8s.io/v1 | |
tuned.openshift.io/v1 | |
user.openshift.io/v1 | |
user.openshift.io/v1 | |
oauth.openshift.io/v1 | |
admissionregistration.k8s.io/v1 | |
admissionregistration.k8s.io/v1 | |
admissionregistration.k8s.io/v1 | |
storage.k8s.io/v1 | |
snapshot.storage.k8s.io/v1 | |
snapshot.storage.k8s.io/v1 | |
snapshot.storage.k8s.io/v1 |
Legal Notice
Copyright © 2024 Red Hat, Inc.
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.