istio环境搭建

虽然k8s有部分微服务治理功能,但不全面,使用起来也不是很方便。目前主流的微服务框架有springcloud、istio、dubbo等等。Istio是服务网格思想的实现。

·  istio适用于容器或虚拟机环境(特别是 k8s),兼容异构架构。

·  istio使用 sidecar(边车模式)代理服务的网络,不需要对业务代码本身做任何的改动。

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

·  istio通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行为进行细粒度控制;支持访问控制、速率限制和配额。

·  istio对出入集群入口和出口中所有流量的自动度量指标、日志记录和跟踪。


与SprintCloud的简单比较:

SpringCloud是独立于k8s的微服务框架,只支持java。具有完备独立的微服务组件。其中微服务开发是侵入式的,需要在每个微服务中包含相关配置和代码实现。

1.K8s中安装Istio环境

下载安装包(所有节点),这里使用istio1.12版本,和k8s 1.23版本对应,对应关系可查询官网。

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

解压tar包


解压

设置环境变量,以使用istio命令

export PATH=/home/master/istio/istio-1.12.1/bin:$PATH

cp tools/istioctl.bash $HOME/


source ~/istioctl.bash

查看可使用的配置:

istioctl profile list


安装demo配置的istio

istioctl install --set profile=demo -y

对应yaml文件在manifests/profiles/demo.yaml,将会创建默认istio-ingressgate,istiod等服务


查看安装的服务:

kubectl get svc -n istio-system


Istio组件默认安装在istio-system命名空间:


dashboard中查看

2.安装kiali可视化

安装可视化界面:

kubectl apply -f samples/addons/

kubectl apply -f samples/addons/extras/


映射外网端口(nodeport):

kubectl patch svc -n istio-system kiali -p '{"spec": {"type": "NodePort"}}'


查看映射的端口

kubectl get all -n istio-system


查看映射端口

外网登录访问:


web访问
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容