HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

在 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:32648

评论

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

开源?结缘!Towhee 开源社区与上海人工智能实验室 OpenDataLab 成为开源生态合作伙伴

Zilliz

人工智能 开源

【云原生 | 从零开始学Kubernetes】二、使用kubeadm搭建K8S集群

泡泡

Docker Kubernetes 云原生 容器编排 9月月更

Javaweb核心之servlet详解

楠羽

Servlet 笔记 9月月更

出海嘉年华开发者说,模式复制、本地化创新和未来机会

融云 RongCloud

白皮书 程序猿 出海 圆桌论坛

分布式数据库技术之路未来如何发展?

OceanBase 数据库

【内存操作函数内功修炼】memcpy + memmove + memcmp + memset(四)

Albert Edison

C语言 9月月更 strcpy strncpy

创作者能从设计师那学到什么样的设计原则

宇宙之一粟

读书笔记 设计 读书感悟 设计原则 9月月更

Redis API——Set功能实践与性能测试【Go版】

FunTester

OceanBase荣获OSCAR两项大奖,开源已成主流开发模式

OceanBase 数据库

跟着卷卷龙一起学Camera--Gamma

卷卷龙

ISP 9月月更

C++学习---__libc_open函数的原理

桑榆

c++ 源码阅读 9月月更

可恶,又是个线上问题

艾小仙

Java ShardingSphere TiDB

史上最全的Java基础(针对面试)

自然

java; 9月月更

“为场景找技术”:全球数字化转型的大同之道

脑极体

OpenTelemetry Go Metric SDK (Alpha) v0.32.0 发布

Grafana 爱好者

OpenTelemetry

监控系统工作原理

穿过生命散发芬芳

监控系统 9月月更

KeeWiDB:兼容Redis协议,领跑NoSQL

腾讯云数据库

数据库 nosql 腾讯云 腾讯云数据库 KeeWiDB

浅析python爬虫(上)

吉师职业混子

9月月更

2022-09-21:有n个动物重量分别是a1、a2、a3.....an, 这群动物一起玩叠罗汉游戏, 规定从左往右选择动物,每只动物左边动物的总重量不能超过自己的重量 返回最多能选多少个动物,求一个

福大大架构师每日一题

算法 rust 福大大

关联分析:实现全景化应用监控的基础

阿泽🧸

智能运维 9月月更

Java进阶(三十三)java基础-filter

No Silver Bullet

Java filter 9月月更

【微信小程序】小程序的条件渲染

陈橘又青

9月月更

直播预告|星策社区大咖说-第一期-蒙牛数智化转型访谈

星策开源社区

人工智能 转型 企业转型 智能化转型 蒙牛

Selenium简单基础详解(I)

吉师职业混子

9月月更

昂贵的质量

光毅

项目管理 代码质量

【微信小程序】你了解小程序开发吗?

陈橘又青

9月月更

赴一场深圳的线下沙龙|分布式数据库助力跨境企业降本增效

OceanBase 数据库

小六六读Effective记录

自然

java; 9月月更

史上最全的Java容器集合之入门

自然

java; 9月月更

设计模式总结(一):创建型模型

Studying_swz

设计模式 9月月更 创建型模型

XML简单基础详解(I)

吉师职业混子

9月月更

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