Istio初探
前置环境:docker
一、安装k8s:
● https://segmentfault.com/a/1190000042204035
1、 https://github.com/gotok8s/k8s-docker-desktop-for-mac.git
2、 https://github.com/kubernetes/dashboard
3、 获取token
curl ‘http://127.0.0.1:8001/api/v1/namespaces/kubernetes-dashboard/serviceaccounts/admin-user/token’ -H “Content-Type:application/json” -X POST -d ‘{}’
4、 查看k8s dashboard
● 安装kubectl
1、 https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-macos/
● 关键结果:
1、 k8s dashboard
2、 kubectl
二、安装istio并完成bookinfo示例部署
● https://istio.io/latest/zh/docs/setup/getting-started/
1、 安装istio
2、 k8s部署bookinfo示例
配置1:https://raw.githubusercontent.com/istio/istio/release-1.14/samples/bookinfo/platform/kube/bookinfo.yaml 作用:定义service、deplotment
应用结构:
3、 植入istio,创建 https://istio.io/latest/zh/docs/concepts/traffic-management/#gateways,实现外部访问
配置2:https://raw.githubusercontent.com/istio/istio/release-1.14/samples/bookinfo/networking/bookinfo-gateway.yaml 作用:定义整体应用入口网关
4、 安装kiali dashboard
三、isitio特性——https://istio.io/latest/zh/docs/tasks/traffic-management/request-routing/
1、注册destination rule
配置3:https://raw.githubusercontent.com/istio/istio/release-1.14/samples/bookinfo/networking/destination-rule-all.yaml 作用:注册路由,保证服务发现
若未注册则无法发现服务
2、创建virtual service
配置4:https://raw.githubusercontent.com/istio/istio/release-1.14/samples/bookinfo/networking/virtual-service-all-v1.yaml
作用:定义virtual service作为默认服务,控制版本,例如reviews服务三个版本默认为v2版本,拓扑如下: