Service Mesh k8s容器化-服务网格 Istio

Service Mesh k8s容器化-服务网格 Istio

~~好久没有写博客了,这段时间在考试 cka ,最新cka考试练习题 刷了几天,前几天刚刚考完,所以就没有写博客,让大家久等了 ~~

Service Mesh k8s容器化-服务网格 Istio_第1张图片


为什么要用到 服务器网格

1、服务之间通讯安全没有保障 ,
(节点于节点通讯,未能实现加密通讯,就有可能被被人嗅探走数据)
2、跟踪通讯延迟非常困难
(他的通讯经历了哪些中间主键,如果要诊断问题,其实是不好实现的)
3、负责均衡功能有限
(k8s 里面 负载只有 通过server ,只能实现ipvs 核心基础调度,无法实现 流量分割,流量迁移,ab测试,流量镜像,等等功能)


Istio 是什么?

云平台令使用它们的公司受益匪浅。但不可否认的是,上云会给 DevOps 团队带来压力。为了可移植性,开发人员必须使用微服务来构建应用,同时运维人员也正在管理着极端庞大的混合云和多云的部署环境。 Istio 允许您连接、保护、控制和观察服务。

从较高的层面来说,Istio 有助于降低这些部署的复杂性,并减轻开发团队的压力。它是一个完全开源的服务网格,作为透明的一层接入到现有的分布式应用程序里。它也是一个平台,拥有可以集成任何日志、遥测和策略系统的 API 接口。Istio 多样化的特性使您能够成功且高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法。


服务网格是什么?

Istio 解决了开发人员和运维人员所面临的从单体应用向分布式微服务架构转变的挑战。了解它是如何做到这一点的可以让我们更详细地理解 Istio 的服务网格。

术语服务网格用来描述组成这些应用程序的微服务网络以及它们之间的交互。随着服务网格的规模和复杂性不断的增长,它将会变得越来越难以理解和管理。它的需求包括服务发现、负载均衡、故障恢复、度量和监控等。服务网格通常还有更复杂的运维需求,比如 A/B 测试、金丝雀发布、速率限制、访问控制和端到端认证。

Istio 提供了对整个服务网格的行为洞察和操作控制的能力,以及一个完整的满足微服务应用各种需求的解决方案。


为什么使用 Istio?

通过负载均衡、服务间的身份验证、监控等方法,Istio 可以轻松地创建一个已经部署了服务的网络,而服务的代码只需很少更改甚至无需更改。通过在整个环境中部署一个特殊的 sidecar 代理为服务添加 Istio 的支持,而代理会拦截微服务之间的所有网络通信,然后使用其控制平面的功能来配置和管理 Istio,这包括:

为 HTTP、gRPC、WebSocket 和 TCP 流量自动负载均衡。

通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制。

可插拔的策略层和配置 API,支持访问控制、速率限制和配额。

集群内(包括集群的入口和出口)所有流量的自动化度量、日志记录和追踪。

在具有强大的基于身份验证和授权的集群中实现安全的服务间通信。

Istio 为可扩展性而设计,可以满足不同的部署需求。


https://istio.io/latest/zh/docs/concepts/what-is-istio/ 官网地址

一、安装?

Service Mesh k8s容器化-服务网格 Istio_第2张图片

目前最新版本

wget https://github.com/istio/istio/releases/download/1.15.0/istio-1.15.0-linux-amd64.tar.gz

tar xf istio-1.15.0-linux-amd64.tar.gz 
cd istio-1.15.0 && export PATH=$PWD/bin:$PATH

istioctl install --set profile=demo -y


root@node1:~#  kubectl get pod -n istio-system
grafana-b854c6c8-khhgz                  1/1     Running   0          84m
istio-egressgateway-5988d765d6-vrwhr    1/1     Running   0          86m
istio-ingressgateway-576c469c96-fw4wf   1/1     Running   0          86m
istiod-6df799468c-l8nb4                 1/1     Running   0          86m
jaeger-54b7b57547-cmnwz                 1/1     Running   0          84m
kiali-689fbdb586-ww99j                  1/1     Running   0          84m
prometheus-7b8b9dd44c-lbvws             2/2     Running   0          84m


#开启, sidecar 自动注入
kubectl label ns default  istio-injection=enabled

二、部署和查看Istio仪表板

stio 集成了几个不同的遥测应用程序。这些可以帮助您了解服务网格的结构、显示网格的拓扑以及分析网格的健康状况。
使用以下说明部署Kiali仪表板以及Prometheus、Grafana和Jaeger。
安装Kiali 和其他插件并等待它们被部署。

root@node1:~# kubectl apply -f istio-1.15.0/samples/addons
root@node1:~# kubectl rollout status deployment/kiali -n istio-system
deployment "kiali" successfully rolled out
root@node1:~#


istioctl dashboard --address 0.0.0.0 kiali

Service Mesh k8s容器化-服务网格 Istio_第3张图片
到这里就部署完了

你可能感兴趣的:(service_mesh,kubernetes,istio)