报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

在 Kubernetes 中部署 Elasticsearch

  • 2020-04-22
  • 本文字数:1493 字

    阅读完需:约 5 分钟

在Kubernetes中部署Elasticsearch

在对应用程序进行重构和更新的过程中,往往会出现一些挑战。更新应用程序的频率越高,复杂性就越是会增加。让应用程序在容器平台上运行,并且它们之间可以互相通信和连接,是通向模块化的、灵活的微服务架构的必经之路。但是微服务的这种灵活性也让其变得更加复杂。这时就轮到 Service Mesh 发挥作用了!


Service Mesh 向企业提供了他们所需要的中心化控制面板,同时依然能够使用灵活的、基于云的应用程序开发方式。我们可以把 Service Mesh 看成是用于微服务 API 的专门的第 7 层网格,它提供身份验证、授权、安全和性能服务来优化服务之间的“east/west”流量。更重要的是,它能为你提供应用到这些策略的中心点,而不需要直接将所有这些编码到应用程序的业务逻辑中。

简单的 Service Mesh 类比

Service Mesh 就像是城市的水管网络。你的团队控制着这些管道,根据需要连接它们并设置它们之间所有的流控制。无论是何种类型或用途,又或是 Service Mesh 所支持的应用程序的需求在不断变化,数据都可以通过你的系统进行传递。


这种流量控制可以在中心位置进行,也正是在中心位置构建规则,来管理那些相互连接的数据流。这就像是在天上的巨大控制室一样,你可以在农作物需要额外资源时,给加利福尼亚州的土地浇水,又或是迈阿密那边湿的太透了,你可以排干它们。最重要的一点是,这些操作都是可以自动执行并且动态调整的。


Service Mesh 增强了可靠性和可视化能力

Service Mesh 提供从网络或服务故障处自动恢复过来的智能流量路由功能,这样就可以追踪到整个堆栈的问题,甚至能追踪到服务间的中断。


如果服务器没有响应,你的服务网格将会把它从单个服务、或者是活跃的、负载均衡的服务池中剔除掉,转移到另一个池中,该池经常会检查是否可运行。当该服务器在合理的时间范围内开始响应时,它又会被自动 push 回活跃的负载均衡池中。


通过提供服务层系统各个方面的可视化,Service Mesh 还可以用来 debug 和优化系统。这样微服务中的脏水问题(murky water)就解决了。随着时间推移,系统可以进行调整来扩展功能,满足性能和稳定性的需求。

Service Mesh 保护服务间通信

当你的团队推出应用程序的新版本,或是要将应用程序托管的集群迁移到新的数据中心时,安全团队通常需要重新颁发证书并授权给系统中新的服务器。这会花费大量的时间和精力,是推动生产改进的阻碍。


有了服务网格,将服务间通信的安全性交给网格处理,这些关注点从应用程序本身抽象了出来,由服务网格处理所有这些限制,比如哪些服务可以相互通信、哪些系统可以访问哪些服务,以及哪些用户可以访问哪些服务。因此, 升级网格中的应用程序不需要重新分配安全资源


这样一来,还可以让围绕网络和服务间通信的安全问题能从任何内部开发的业务逻辑中独立出来。如果网络组建出现安全漏洞,服务网格会去处理围绕安全更新的更改,而不是重新架构每个应用程序。这就消除了在进行安全更改和更新相关工作时出现的大量停机时间。


研究大型微服务环境下的服务网格

不过服务网格有一个(巨大的)潜在的缺点。它添加了额外的容器,事实上, 它让容器规模加倍了 。大多数服务网格的实现使用了 sidecar 代理,将一个代理实例和每个容器绑定的微服务耦合在一起。这样一来,它所带来的好处大于运营成本,这也意味着服务网格对于小型环境来说通常过于庞大了。


但是,如果你正在管理数十个甚至数百个独立的微服务,不妨考虑服务网格。有了服务网格,你的团队可以更好的跟踪问题,确保服务的可用性,维护路由表的正确分布。对这些大型环境,无论是在公共云、在你的企业数据中心、还是在混合云的实现上,它们是云应用程序难题的最后一块拼图,也是将你的整个产业联系在一起的关键部分。


2020-04-22 18:32711

评论

发布
暂无评论
发现更多内容

柏拉图会成为元宇宙风险标吗?PlatoFarm的机会很大

西柚子

【解决】jsPDF之长图片生成PDF

爱好编程进阶

Java 程序员 后端开发

【Jvm】Jvm类加载机制

爱好编程进阶

Java 程序员 后端开发

摆平各类目标检测识别AI应用,有它就够了!

华为云开发者联盟

计算机视觉 CANN 昇腾 目标检测识别 YoloV3

HTTP请求转发那些事:你可能不知道的Hop-by-hop Headers和End-to-end Headers

华为云开发者联盟

HTTP 请求转发 web 容器 F5

【刷题第十天】21. 合并两个有序链表

白日梦

5月月更

讨论两种Redis中Token的存储方式

华为云开发者联盟

Token key 存储token userid

“超级计算机”——GPU云服务器

Finovy Cloud

gpu GPU服务器 GPU算力

令人欣慰!阿里大牛把Spring微服务架构设计整理成了500多页文档,真香

爱好编程进阶

Java 程序员 后端开发

优化了MYSQL大量写入问题,老板奖励了1000块给我

爱好编程进阶

Java 程序员 后端开发

史上最全图解JVM,京东小哥带你了解性能提升100%背后的秘密武器

爱好编程进阶

Java 程序员 后端开发

一文聊透 Netty IO 事件的编排利器 pipeline | 详解所有 IO 事件的触发时机以及传播路径

bin的技术小屋

网络编程 Netty java netty 5月月更

编写自己的 WordPress 模板

海拥(haiyong.site)

WordPress 5月月更

开源生态在中国:播撒种子,待成雨林

科技热闻

小型企业需要CRM系统的理由

低代码小观

CRM 企业管理系统 中小企业 CRM系统 客户关系管理系统

AI简报-视频去交错(Deinterlance)

AIWeker

人工智能 深度学习 5月月更 去交错

极光笔记 | 极光基于元数据驱动数据治理浅谈

极光JIGUANG

数据治理 元数据

等保和分保的区别是什么?哪个更厉害?

行云管家

网络安全 等保 等级保护 分保

KeyDB重量发布6.3.0开源版

华为云开发者联盟

redis 开源 多线程 分布式缓存 KeyDB

JAVA-使用注解实现Excel表头多语言导出

JayJay

5月月更

使用APICloud AVM多端框架开发企业移动OA办公的项目实践

YonBuilder低代码开发平台

企业应用 APP开发 APICloud 多端开发 avm.js

「每日一问」并发编程的特性是什么

爱好编程进阶

Java 程序员 后端开发

厉害了!把 HashMap 剖析的只剩渣了!

爱好编程进阶

Java 程序员 后端开发

云计算的云是指什么?最简单的解释是什么?

行云管家

云计算 云服务 私有云 混合云

大佬总结的4条宝贵经验,送给初入职场的你,从此一飞冲天

爱好编程进阶

Java 程序员 后端开发

如何在缺乏商业项目经验的前提下成功通过面试,兼说我如何甄别非商业项目经验

爱好编程进阶

Java 程序员 后端开发

批量作业调度引擎 TASKCTL 安装与实例部署

敏捷调度TASKCTL

程序员 DevOps 分布式 ETL 自动化运维

在Kubernetes中部署Elasticsearch_文化 & 方法_Rancher_InfoQ精选文章