背景
通过kubernetes集群聚合多个Elasticsearch集群碎片资源,提高运维效率。
介绍
Kubernetes Operator 是一种特定的应用控制器,通过 CRD(Custom Resource Definitions,自定义资源定义)扩展 Kubernetes API 的功能,可以用它来创建、配置和管理特定的有状态应用,而不需要直接去使用 Kubernetes 中最原始的一些资源对象。
Elastic Cloud on Kubernetes(ECK) 是其中的一种 Kubernetes Operator,方便我们管理 Elastic Stack 家族中的各种组件,例如 Elasticsearch,Kibana,APM,Beats 等等。比如只需要定义一个 Elasticsearch 类型的 CRD 对象,ECK 就可以帮助我们快速搭建出一套 Elasticsearch 集群。
版本要求
以下为官方给出的版本要求列表,按照实际业务进行评估,确定具体的实施版本和实施方案。
- Kubernetes 1.24-1.27
- OpenShift 4.8-4.12
- Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS), and Amazon Elastic Kubernetes Service (EKS)
- Helm: 3.2.0+
- Elasticsearch, Kibana, APM Server: 6.8+, 7.1+, 8+
- Enterprise Search: 7.7+, 8+
- Beats: 7.0+, 8+
- Elastic Agent: 7.10+ (standalone), 7.14+ (Fleet), 8+
- Elastic Maps Server: 7.11+, 8+
- Logstash: 8.7+
实施
现有环境使用方式较为单一,存在2种版本的Elasticsearch集群,其中只有大约一半的7.0+版本符合迁移要求。
现有Kubernetes集群版本为1.24以下,在实际测试和使用中 ECK 2.8版本也是可以的,为了避免误导,建议按照官方建议选择ECK版本。
kubernets与ECK版本兼容参考下表。
Release Date | Kubernetes Compatible Versions | OpenShift Compatible Versions | VMware Tanzu Kubernetes Grid Versions | |
---|---|---|---|---|
Elastic Cloud on Kubernetes 1.0.x | 2020/1/15 | 1.11-1.21 | 3.11, 4.1-4.8 | |
Elastic Cloud on Kubernetes 1.1.x | 2020/4/28 | 1.11-1.21 | 3.11, 4.1-4.8 | |
Elastic Cloud on Kubernetes 1.2.x | 2020/8/18 | 1.11-1.21 | 3.11, 4.1-4.8 | |
Elastic Cloud on Kubernetes 1.3.x | 2020/11/19 | 1.11-1.21 | 3.11, 4.1-4.8 | |
Elastic Cloud on Kubernetes 1.4.x | 2021/1/26 | 1.11-1.21 | 3.11, 4.1-4.8 | |
Elastic Cloud on Kubernetes 1.5.x | 2021/3/23 | 1.11-1.21 | 3.11, 4.1-4.8 | |
Elastic Cloud on Kubernetes 1.6.x | 2021/5/25 | 1.16-1.21 | 3.11, 4.3-4.8 | |
Elastic Cloud on Kubernetes 1.7.x | 2021/8/3 | 1.17-1.22 | 3.11, 4.3-4.8 | |
Elastic Cloud on Kubernetes 1.8.x | 2021/9/21 | 1.18-1.22 | 3.11, 4.4-4.8 | |
Elastic Cloud on Kubernetes 1.9.x | 2021/12/7 | 1.18-1.22 | 3.11, 4.5-4.9 | 1.4 |
Elastic Cloud on Kubernetes 2.0.x | 2022/2/8 | 1.19-1.23 | 4.6-4.10 | 1.4 |
Elastic Cloud on Kubernetes 2.1.x | 2022/3/1 | 1.19-1.23 | 4.6-4.10 | 1.4 |
Elastic Cloud on Kubernetes 2.2.x | 2022/4/26 | 1.19-1.23 | 4.6-4.10 | 1.4 |
Elastic Cloud on Kubernetes 2.3.x | 2022/6/28 | 1.20-1.24 | 4.6-4.10 | 1.5.4 |
Elastic Cloud on Kubernetes 2.4.x | 2022/8/24 | 1.20-1.24 | 4.6-4.10 | 1.5.4 |
Elastic Cloud on Kubernetes 2.5.x | 2022/11/1 | 1.21-1.25 | 4.7-4.11 | 1.5.4 |
Elastic Cloud on Kubernetes 2.6.x | 2022/12/13 | 1.21-1.25 | 4.7-4.11 | 1.5.4 |
Elastic Cloud on Kubernetes 2.7.x | 2023/3/30 | 1.22-1.26 | 4.8-4.12 | 1.5.4 |
Elastic Cloud on Kubernetes 2.8.x | 2023/5/23 | 1.24-1.27 | 4.8-4.12 | 1.5.4 |
Elastic Cloud on Kubernetes 2.9.x | 2023/7/25 | 1.24-1.27 | 4.9-4.13 | 1.5.4 |
参考文档
支持的版本:https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s_supported_versions.html
支持一览表:https://www.elastic.co/cn/support/matrix#matrix_kubernetes