第 2 章 了解 API 兼容性指南
重要
此指南不包括分层的 MicroShift 产品。
2.1. API 兼容性指南
红帽建议应用程序开发人员使用以下原则来改进与 MicroShift 的兼容性:
- 使用与应用需求匹配的 API 和组件,支持层。
- 尽可能使用公布的客户端库构建应用程序。
- 只有应用程序在作为新环境构建的环境中执行时,才能保证正确运行。为 MicroShift 4.14 构建的应用程序无法保证在 MicroShift 4.13 上正常工作。
- 不要设计依赖于系统软件包或其他组件提供的配置文件的应用程序。除非上游社区明确提交来保留它们,否则这些文件可以在不同版本之间更改。在适当的情况下,依靠任何红帽在这些配置文件中提供接口抽象,以便保持向前兼容性。不鼓励直接修改配置文件,强烈建议用户与提供的 API 集成,以避免双写器冲突。
-
不要依赖于以
unsupported<FieldName>
或在产品文档中未明确提及的注解作为前缀的 API 字段。 - 不要依赖于比您的应用程序更短的兼容性保证。
- 不要在 etcd 服务器上执行直接存储操作。所有 etcd 访问都必须通过 api-server 或记录的备份和恢复步骤执行。
红帽建议应用程序开发人员遵循 Red Hat Enterprise Linux (RHEL)定义的兼容性指南。MicroShift 强烈推荐,在构建应用程序或在一个平台上托管应用程序时,遵循以下准则:
- 不要依赖于特定的 Linux 内核或 MicroShift 版本。
-
避免从
proc
、sys
和debug
文件系统,或任何其他伪文件系统读取。 -
避免使用
ioctls
直接与硬件交互。 -
避免直接与
cgroups
交互,以不与提供容器执行环境的 MicroShift host-agents 冲突。
注意
在发行版本的生命周期中,红帽采取商业合理的努力来维护所有次发行版本和 z-stream 版本中的 API 和应用程序操作环境 (AOE) 兼容性。但是如有必要,红帽会就安全影响级别为“关键(Critical)”的安全问题或者其他严重问题在兼容性方面做例外处理。