ElasticSearch容器化从0到1实践(一)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 通过kubernetes集群聚合多个Elasticsearch集群碎片资源,提高运维效率。

背景

通过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

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
5天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
22 2
|
2月前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
242 69
|
6天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
7天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
8天前
|
存储 Kubernetes 调度
基于容器化技术的性能优化实践
基于容器化技术的性能优化实践
17 3
|
15天前
|
Kubernetes 负载均衡 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第27天】Kubernetes(简称K8s)是云原生应用的核心容器编排平台,提供自动化、扩展和管理容器化应用的能力。本文介绍Kubernetes的基本概念、安装配置、核心组件(如Pod和Deployment)、服务发现与负载均衡、网络配置及安全性挑战,帮助读者理解和实践Kubernetes在容器编排中的应用。
47 4
|
16天前
|
Kubernetes 监控 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第26天】随着云计算技术的发展,容器化成为现代应用部署的核心趋势。Kubernetes(K8s)作为容器编排领域的佼佼者,以其强大的可扩展性和自动化能力,为开发者提供了高效管理和部署容器化应用的平台。本文将详细介绍Kubernetes的基本概念、核心组件、实践过程及面临的挑战,帮助读者更好地理解和应用这一技术。
48 3
|
23天前
|
Kubernetes 监控 开发者
专家级实践:利用Cloud Toolkit进行微服务治理与容器化部署
【10月更文挑战第19天】在当今的软件开发领域,微服务架构因其高可伸缩性、易于维护和快速迭代的特点而备受青睐。然而,随着微服务数量的增加,管理和服务治理变得越来越复杂。作为阿里巴巴云推出的一款免费且开源的开发者工具,Cloud Toolkit 提供了一系列实用的功能,帮助开发者在微服务治理和容器化部署方面更加高效。本文将从个人的角度出发,探讨如何利用 Cloud Toolkit 来应对这些挑战。
34 2
|
1月前
|
存储 运维 云计算
探索Docker容器化:从入门到实践
在这个快速发展的云计算时代,Docker容器化技术正在改变应用的开发、部署和管理方式。本文旨在为初学者提供一个关于Docker的全面入门指南,并通过实践案例展示Docker在实际开发中的应用。我们将一起了解Docker的核心概念、基本操作、网络和存储,以及如何构建和部署一个简单的Web应用。无论你是开发者还是运维人员,本文都会帮助你快速掌握Docker的核心技能。
|
7天前
|
数据中心 开发者 Docker
理解并实践Docker容器化技术
理解并实践Docker容器化技术