azure云服务使用方法

Kubernetes之类的工具在简化大规模构建分布式应用程序的过程上大有帮助。 但是它们只是故事的一部分,提供了在主机系统之间复制容器化微服务的方法。 如果要获得抽象的数据中心级操作系统的好处,那么我们需要考虑如何大规模管理网络,尤其是当这种规模是像Azure这样的大型公共云的规模时。

解决这个问题的方法之一就是服务网格 。 最好将服务网格作为软件定义网络的控制平面的抽象,这是一种构建软件层的方法,该软件层可管理支持代码所需的进程间通信。

[InfoWorld解释: 什么是云原生? 开发软件的现代方法 。 | 入门: Azure云迁移指南 。 •教程: Google Cloud入门 。 | 通过InfoWorld的云计算新闻通讯了解云计算的最新发展。 ]

精心设计的服务网格不只是简单的网络层。 它支持您在网络设备中发现的大多数功能,例如负载平衡和加密,以及支持现代系统管理模型的工具(例如可观察性)。 支持关键的分布式应用程序功能,允许服务发现,以便不同的应用程序层可以以不同的速率扩展,同时仍允许应用程序运行。

[ 单击此处注册免费的三个小时的Kubernetes入门课程,该课程由Pluralsight和InfoWorld提供。 ]

通过在sidecar模块中实现所有这些功能,服务网格可提供在Kubernetes上和跨云交付应用程序所需的许多缺少的功能。 您可以在没有服务网格的情况下构建分布式应用程序,但是您将需要重新设计轮子。 随着Azure将其大部分分布式应用程序开发模型围绕Kubernetes进行集中,Microsoft云中对服务网格的需求日益增长。

Azure和服务网格

Azure提供了其自己的Service Fabric Mesh形式的Service Mesh ,但它专注于Microsoft的Service Fabric平台。 如果您要构建仅在Azure上运行的应用程序,那很好,但是如果您想要多云支持和服务可移植性,最好选择众多针对Kubernetes的开源服务网格之一。

一种选择是Consul ,它由HashiCorp构建和维护。 微软一直在与HashiCorp一起为服务网格接口定义标准 ,并使用与实现无关的通用API,因此将其与Azure Kubernetes应用程序以及AKS(Azure Kubernetes Service)一起使用是有意义的。

在Azure上设置HashiCorp Consul

在AKS中设置领事是一个相对简单的过程。 您需要运行Kubernetes 1.12或更高版本的最新AKS集群,因为Consul 1.5已在最新版本的Kubernetes上进行了测试。 Consul使用Helm来管理其安装,因此一旦您的AKS实例启动,就启动并运行Helm。

安装Consul需要首先克隆Helm图表的HashiCorp GitHub存储库。 本地副本至关重要,因为您需要为AKS实例设置适当的配置文件。 它们将故障转移副本配置为具有弹性,并确保您的Kubernetes群集使用Consul进行服务发现。 确保Consul在Linux节点上运行非常重要,即使您使用Consul来管理同一AKS群集中的Windows Server节点也是如此。

运行Helm图表并安装Consul服务后,您可以使用Kubernetes命令行kubectl来检查它们是否在您的集群中运行,同时检查服务和Pod。 Consul在其管理UI上运行自己的Web服务器,在浏览器中打开管理UI之前,您需要通过Kubernetes为本地PC提供与Consul的直接安全连接。

Consul安装的核心是Consul代理。 它作为服务器或客户端运行,每次安装至少需要一台服务器。 客户端注册服务并检查运行状况,并将查询转发到服务器。 您将为每个节点部署一个客户端,并至少部署三台服务器以提高可靠性。 Consul的Connect服务网格在此架构之上运行,使用Sidecar代理链接您的服务并管理流量。 服务不需要了解Consul,可以轻松地将其添加到现有应用程序中。 如果您决定对其进行标准化,则可以开始编写支持Consul的代码。

将服务定义添加到领事

Consul代理中的服务定义是用JSON编写的,可以即时进行编辑,并在重新加载时重新配置代理。 代理可用于公开外部IP端口,绑定到内部端口,例如处理加密的连接。 领事代理服务器到位后,它们将使用“意图”,即一组访问控制列表来管理服务到服务的连接。 为了更全面地控制服务,Consul使用键值存储来动态配置应用程序,并使用代理将数据加载到存储中。 作为命令行管理工具, Consul的Web用户界面在其服务器上运行,并为您提供用于管理节点和服务以及管理访问控制列表和意图的图形工具。

领事有很多,配置和运行可能需要一些时间。 如果您不想花时间实施Consul,则可以利用HashiCorp即将推出的托管服务 。 当前处于私有预览中,它简化了在应用程序中支持Consul所需的基础架构的部署过程,同时加快了部署并减少了管理开销。

使用Azure托管应用程序将服务作为领事

HashiCorp的Consul Service Azure实施是在Azure的托管应用程序服务之上构建的。 这是专为服务提供商和ISV通过Azure市场或Azure服务目录提供服务而设计的。 用户可以订阅服务,服务提供商提供所有服务。 无需维护或更新您使用的服务,更重要的是,无需构建自己处理维护所需的技能。

要在Azure的Kubernetes应用程序中使用Consul,您需要一个HashiCorp帐户以及一个Azure帐户。 准备就绪后,即可通过Azure门户实施Consul服务,并通过Azure订阅付费。

初始设置是要从市场将HashiCorp Consul Service添加到Azure资源组。 输入Azure区域,所选版本和网络详细信息后,将Consul服务添加到您的订阅中。 这将配置服务器,准备在您的应用程序中使用,并准备通过Azure门户中的Consul Web UI进行管理。

无需学习任何新知识。 如果您已在自己的网络上实施Consul或将其安装在现有Azure基础结构之上,则配置和使用Consul服务网格的方式没有任何区别。

尽管Consul on Azure服务目前处于私人测试阶段,但这是Microsoft如何扩展Azure的分布式计算产品而无需添加自己的工具的一个示例。 可以选择服务网格非常重要,并且为供应商提供了使用Azure市场部署托管服务的机会,使供应商和开发人员都可以更轻松地利用这些服务。

翻译自: https://www.infoworld.com/article/3439176/getting-started-with-hashicorp-consul-on-azure-kubernetes-service.html

azure云服务使用方法

azure云服务使用方法_在Azure Kubernetes服务上使用HashiCorp Consul相关推荐

  1. azure云服务使用方法_使用Azure认知服务自动执行表单处理

    azure云服务使用方法 由机器学习提供支持的 Microsoft认知服务是一种向您的应用程序添加人工智能的简便方法,使您可以按需付费,访问各种有用的算法 . 与许多其他Web服务不同,它们正在不断发 ...

  2. azure云服务器搭建连接_如何创建到Azure SQL数据库的链接服务器

    azure云服务器搭建连接 Linked servers allow to access data from another SQL Server or another data source (e. ...

  3. 错误1053服务没有及时_无法启动xx服务 错误1053:服务没有及时响应启动或控制请求,排查方法。...

    sc安装服务,启动失败:显示错误1053:服务没有及时响应启动或控制请求 网上找了很多方法资料,什么注册表啊,权限啊之类的. 你按照这些都做完后,仍然提示这个错误. 告诉你,要检查自己的程序是不是有问 ...

  4. springcloud 微服务鉴权_我对微服务、SpringCloud、k8s、Istio的一些杂想

    一.微服务与SOA "微服务"是一个名词,没有这个名词之前也有"微服务",一个朗朗上口的名词能让大家产生一个认知共识,这对推动一个事务的发展挺重要的,不然你叫微 ...

  5. python 服务端渲染_客户端渲染与服务端渲染

    后端渲染 服务器直接生成HTML文档并返回给浏览器,但页面交互能力有限.适用于任何后端语言:PHP.Java.Python.GO等. 客户端渲染(CSR) 页面初始加载的HTML文档中无内容,需要下载 ...

  6. java跟微服务什么关系_分布式和微服务是什么关系?

    分布式和微服务是什么关系?简单来说,分布式和微服务的概念比较相似,分布式属于微服务.但是分布式和微服务在架构.作用和粒度上有所区别.因此,两者的关系是既相互联系又相互区别.本文主要带大家认识分布式和微 ...

  7. NETGEAR拒绝连接请求_破案:Kubernetes/Docker 上无法解释的连接超时

    编译:bot(才云) 技术校对:星空下的文仔(才云) 编者按:将应用迁移到 Kubernetes 时,有时候工程师们会发现一些令人费解的连接超时,无论怎么排查都找不到原因.在这篇文章中,软件架构师 M ...

  8. azure devops中文显示乱码_【Azure DevOps系列】Azure DevOps生成代码覆盖率

    前言 在做单元测试时,代码覆盖率可以作为我们衡量代码质量的一个指标,本章我们将使用Azure DevOps帮助我们生成代码覆盖率的结果.Azure DevOps构建管道还是具有代码覆盖率选项的,在Vi ...

  9. 将mysql服务移除_怎么将mysql服务移除?

    将mysql服务移除的方法:1.进入"控制面板->程序->卸载或更改程序",删除mysql程序:2.删除MySQL文件夹下的[my.ini]文件,如果备份好,可以直接将 ...

最新文章

  1. 带头结点的线性表的链式实现
  2. Use Ghidra To Reverse GenyMotion—Suggestion
  3. -webkit-overflow-scrolling与苹果
  4. C4.5决策树 此博文包含图片 (2011-10-20 23:22:19)转载▼ 标签: 分类树
  5. 程序代码移植和烧录需要注意什么_网站定制化开发需要注意什么?
  6. matlab dotchart,MATLAB中如何用对数方式显示图形坐标?
  7. 线程同步--关键代码段(二)
  8. WPF布局控件AvalonDock介绍以及应用中遇到的一个问题
  9. centos 文件夹网络连接_CentOS的网络配置的命令详解
  10. mangos服务器架构
  11. C#操作明华澳汉读写器读写M1卡往扇区块写入读取值小结
  12. 计算机二级C++刷题记录
  13. java私聊_java Socket实现多人群聊与私聊功能
  14. 产业分析:视频云服务行业
  15. 2022-10-24 ClickHouse 源码解析-查询引擎经典理论
  16. 一日一签免费算卦_一日一签app免费算卦
  17. 5.Abp vNext 地磅无人值守 微信小程序
  18. 管理学中的纳什均衡理论分享
  19. Base64在线解析,编码转化为图片
  20. 时间序列分析:指数平滑和ARIMA模型

热门文章

  1. element el-time-picker 时间段动态禁用 禁用时间段
  2. 手机html5卡,手机端js和html5刮刮卡效果
  3. 《钓鱼模拟器3D》用户隐私政策
  4. 从零开始,搭建一个简单的UVM验证平台(一)
  5. C语言面试经典编程题
  6. matlab: Error in S-function ‘BPPID/S-Function‘: S-Function ‘exppidf‘ does not exist 问题解决
  7. c语言向上取整计算方法
  8. opencv 异常报错Microsoft C++ 异常: cv::Exception,位于内存位置 0x00000058F84FEC20 处
  9. 贝尔商道赚钱思维36道第18道:大道甚夷,而民好径
  10. 日本語教育材料にあるaudioが女性の場合が多い、その原因は・・・?