已知限制
目录
平台和安装节点前提条件:vm.max_map_count安全性从 2.8.0 升级被拒绝或无法执行的集群更改数据生命周期Engine 版本集群 spec 中的镜像设置未包含的插件资源更改会逐个重启 pod平台和安装
- 支持的平台。E1 3.0 支持 ACP 4.1、4.2、4.3 和 4.4,支持 amd64 和 arm64 节点,以及 IPv4、IPv6 和双栈集群。
- 安装模式。operator 仅支持
AllNamespaces安装模式。它会监视每个 namespace 中的OpenSearchCluster和相关资源。您无法将其限制为单个 namespace 或 namespace 列表。
节点前提条件:vm.max_map_count
- 每个运行 OpenSearch 的节点都必须将
vm.max_map_count设置为 262144 或更高。operator 不会设置该值。 spec.general.setVMMaxMapCount在此发行版中不起作用:上游用于设置该值的特权 init 容器不会被创建。
安全性
- 没有 TLS 就没有 security plugin。不包含
spec.security.tls.transport或spec.security.tls.http的集群会在禁用 OpenSearch security plugin 的情况下运行。它会在 REST 端口上提供纯 HTTP,且不进行身份验证或访问控制。不带 TLS 的spec.security.config部分不会启用 security plugin。 - 此处理适用于 OpenSearch 节点。对于不带 TLS 的集群,operator 不会更改 OpenSearch Dashboards 的安全配置。
- Pod Security。默认安全上下文与 Kubernetes
restrictedPod Security 级别兼容。自定义资源中的设置会逐字段覆盖默认值;restricted不允许的设置(例如以 root 身份运行、特权容器、添加 capabilities 或hostPath卷)会使 Pod 与强制执行restricted的 namespace 不兼容。 - 没有用于卷所有权的 root init 容器。数据卷通过 Pod
fsGroup(默认为1000)变为可写。如果您以其他用户或组运行 OpenSearch,请将spec.general.podSecurityContext.fsGroup设置为匹配的值。
从 2.8.0 升级
opensearch.opster.io/v1API 组为只读。 升级后,在旧组中创建资源或更改现有资源的spec会被验证 webhook 拒绝。请使用opensearch.org/v1。- Spec 更改不会同步。 迁移后,只有
opensearch.org/v1资源会被调和。更改不会复制回旧资源。 - 未就绪的资源不会迁移。 只有当集群阶段为
RUNNING时才会迁移集群;对于其他资源,只有其状态为CREATED时才会迁移。 - 升级期间每个节点池都不可避免地会进行一次滚动重启。
- 不会自动回滚到 operator 2.8.0。
请参阅升级。
被拒绝或无法执行的集群更改
operator 的验证 webhook 会拒绝以下更改:
- 更改现有节点池的
persistence.pvc.storageClass。若要使用其他存储类,请创建新集群并迁移数据,例如使用 snapshot 和 restore。 - 将
spec.general.version更改为较低版本(降级),或跳过一个以上的主版本。 - 在集群设置了自定义镜像时更改
spec.general.version;请改为更改或移除自定义镜像。 - 集群中没有任何节点池具有
cluster_manager(或master)角色,且replicas为 1 或更高。 - 两个节点池使用相同的
component名称。 - 除以下角色之外的节点角色:
cluster_manager、master、data、data_content、data_hot、data_warm、data_cold、data_frozen、ingest、ml、remote_cluster_client、transform、search、warm。 - 为传输或 HTTP 启用 TLS,但未设置
generate: true或secret。
存储:
- PVC 只能扩容,不能缩容,并且只有在 StorageClass 允许扩展卷时才能扩容。
- 不能更改现有 PVC 的访问模式。
数据生命周期
- 默认情况下,已删除集群的数据 PVC 会保留。在同一命名空间中使用相同名称创建新集群时,会重新使用这些 PVC,并恢复旧数据。如果希望创建全新的集群,请删除 PVC。
Engine 版本
- E1 3.0 附带 OpenSearch 和 OpenSearch Dashboards 3.8.0(默认版本)以及 2.19.6。Dashboards 应使用与集群相同的版本。
集群 spec 中的镜像设置
不要在 OpenSearchCluster 中设置 spec.general.defaultRepo、spec.general.image、spec.dashboards.image 或节点池镜像设置。E1 附带自行构建的 OpenSearch 和 OpenSearch Dashboards 镜像,operator 会从 spec.general.version 中选择这些镜像;然后,平台会从集群的 registry 中拉取这些镜像。设置 spec.general.defaultRepo 时,operator 会回退到普通版本标签(例如 opensearch:3.8.0),而该标签不在平台 registry 中,因此 pod 无法拉取其镜像。显式设置的镜像会完全按照原样使用,并绕过 E1 附带的镜像。
未包含的插件
E1 3.0 中的 OpenSearch 和 OpenSearch Dashboards 镜像不包含以下插件,这些插件属于上游发行版:
- Security Analytics(
opensearch-security-analytics,以及 Dashboards 中的securityAnalyticsDashboards)。 - Skills(
opensearch-skills),这是 ML Commons agent 使用的工具集。
依赖这些插件的功能不可用。上游发行版中的其他所有插件均已包含。
资源更改会逐个重启 pod
更改节点池的资源、版本或配置时,operator 会逐个重启 pod,并等待每个 pod 重新加入且集群恢复健康后再处理下一个 pod。每个 pod 预计需要约 3 到 4 分钟;包含 9 个 pod 的集群大约需要半小时才能完成。
OpenSearch® 是 LF Projects, LLC 的注册商标。