Kubernetes 实战教学,手把手教您在 K8s 集群上部署 Istio Mesh(一)
出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五,与您不见不散!
在之前的两篇 Kubernetes 实战教学文章《Kubernetes 实战教学,手把手教您设置拥有5个节点的 K8S 群集》、《Kubernetes 实战教学,手把手教您运行第一个 Nginx 集群》中,我展示了如何构建5个节点的 Kubernetes 集群以及如何在这个集群环境中构建第一个 Nginx 应用程序。在本文中,我将展示如何在 Play with Kubernetes 平台上构建 Istio 应用程序。
Istio 是一个完全的开源服务网格,它可以对现有的分布式应用程序进行清晰的分层处理。近期,Istio v1.0版本已经正式上线。Istio 完全由 Go 语言编写,它是一个相当成熟的平台,可以提供 API 将其集成到任何日志记录平台策略系统中。这个项目对系统的开销非常小。您可以浏览 https://github.com/istio/ 从 GitHub 处获取 Istio。Istio的多样化功能集使您能够成功、高效地运行分布式微服务架构,并提供一种统一的方式来保护、连接和监视微服务。
Istio 由以下几个部分组成:
- Envoy —— 即每个微服务的Sidecar代理,用于处理集群中服务之间以及从一个服务到外部服务之间的入口、出口流量。这个代理形成了一个安全的微服务网格,可以提供丰富的功能,如发现、第7层路由、断路器、策略实施和遥测记录/报告功能。(注意:服务网格不是覆盖网络。它简化并增强了应用程序中的微服务,通过底层平台提供的网络相互通信。)
- Mixer —— 代理和微服务利用的中央组件,用于实施授权、速率限制、配额、身份验证、请求跟踪和遥测收集等策略。
- Pilot —— 负责在运行时配置代理的组件。
- Citadel —— 负责证书颁发和轮换的集中组件。
- Node Agent —— 负责证书颁发和轮换的每个节点组件。
- Galley —— 用于在 Istio 中验证、摄取、聚合、转换和分发配置的中心组件。
Istio 带来了哪些好处?
图示:Sidecar 接收了所有网络流量
- Istio 可以让您连接、保护、控制和观察服务;
- 它有助于降低服务部署的复杂性,并减轻开发团队的压力;
- 它为开发人员和 DevOps 提供了细粒度的可见性和对流量的控制,并且无需对应用程序代码进行任何更改;
- 它为 CIO 提供了所需的必要工具,来帮助整个企业实现安全性和合规性要求;
- 它提供了对整个服务网格的行为洞察和操作控制;
- 通过HTTP、gRPC、Web Socket 和 TCP 流量的自动负载均衡,Istio 可以轻松创建已部署服务的网络;
- 它提供了对流量行为的细粒度控制,具有丰富的路由规则、重试、故障转移和故障注入;
- 它支持可插入的策略层和配置 API、支持访问控制、速率限制和配额;
- Istio 为群集中的所有流量提供自动度量标准、日志和跟踪,包括群集的入口和出口;
- 它通过强大的基于身份的身份验证和授权在群集中提供安全的服务到服务的通信;
Istio 目前支持 Kubernetes。在这篇文章中,我将展示如何在Play with Kubernetes 平台使用Istio。
首先,打开 https://labs.play-with-k8s.com/ 访问 Kubernetes Playground。
单击“Login”后选择使用 Docker Hub 或 GitHub ID 进行身份验证。
一旦开始会话,您将拥有一个自己的实验室环境。
添加第一个 Kubernetes 节点
单击左侧的“Add New Instance” 来建您的第一个 Kubernetes 集群节点。它会自动将其命名为“node1”。每个实例都预装了Docker Community Edition(CE)和Kubeadm。该节点将被视为我们群集的主节点。
引导主节点
您可以通过使用以下脚本初始化主节点(node1)来引导 Kubernetes 集群。将此脚本内容复制到 bootstrap.sh 文件中,并使用“chmod + x bootstrap.sh”命令使其可执行。
当您执行此脚本时,作为初始化的一部分,kubeadm 将会编写所需的几个配置文件,设置 RBAC 并部署Kubernetes控制平面组件(如 kube-apiserver、kube-dns、kube-proxy 和 etcd等等)。控制平面组件以 Docker 容器的形式进行部署。
复制上面的 kubeadm 连接令牌命令,并将其保存以供下一步使用。此命令将用于将其他节点连接到集群。
添加工作节点
点击“Add New Node”来添加一个新的工作节点。
检查集群状态
验证正在运行的 Pod
我们已经完成了安装 Istio 1.0.0 版本的所有准备,在下一篇文章中,我将为大家带来 Istio 1.0.0 版本完整的安装过程,并在 Istio 1.0.0 中运行演示示例。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
关于Unity 2018的实体组件系统(通用名称ECS)
将介绍如何在Unity上使用实体组件系统(通常称为ECS)。这次的内容是Unity提供的ECS API的基本用法,一个小应用程序和并行化。它不包括与Unity的GameObject / Component的合作,以及实际使用。获取可以使用ECS的编辑器Unity2018 和之后的版本都可以!创建一个可以使用ECS的项目要启用ECS,需要两件事。· 使使用 .NET 4.x· 重写 manifest.json正常启动Unity并打开 Edit> PlayerSettings> PlayerSettings。之后,将Scripting Runtime Version脚本运行时版本更改为Stable (.net 4.x)。接下来是重写manifest.json。由于在项目的Root文件夹/ Packages中有一个名为manifest.json的文件,因此我们将按照https://github.com/Unity-Technologies/EntityComponentSystemSamples/blob/master/TwoStickShooter/Pure/Packages/...
- 下一篇
如何低成本建立属于自己的网站?
网站是什么? 网站的定义 网站是什么?可能大部分人头脑中出现的第一映像就是淘宝啊、京东啊、网易,但若要问对于网站的定义,很多人却答不出来,百度百科是这样定义网站的: 网站(Website)是指在因特网上根据一定的规则,使用HTML(标准通用标记语言下的一个应用)等工具制作的用于展示特定内容相关网页的集合。简单地说,网站是一种沟通工具,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。人们可以通过网页浏览器来访问网站,获取自己需要的资讯或者享受网络服务。 网站现状 目前国内网站数量接近400万个,有个人的,也有企业的,还有政府机关单位的,作为我们个人,有时候也想拥有一个属于自己的网站,并不是所有的人建立网站都是为了赚钱盈利,可能一部份人只是想把自己的一些东西通过互联网推送出去,分享给更多的人看到。 网站的用途是什么? 从企业的角度来看 1 可降低广告宣传费用,让客户快捷地找到企业资料2 随时可获取和发布商业信息,寻找潜在客户,促成贸易。3 可提供每天24小时的产品宣传服务。4 利用互联网扩大自己的知名度。5 在网上出售商品,降低销售费用。6 更快捷地了解客户需求...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启