文章目录
一、部署K8S集群
二、部署Istio
2.1. 安装二进制包
下载地址:https://github.com/istio/istio/releases
wget https://github.com/istio/istio/releases/download/1.5.8/istio-1.5.8-linux.tar.gz --no-check-certificate
tar xvf istio-1.5.8-linux.tar.gz
cd istio-1.5.8/bin
cp istioctl /usr/local/bin/
2.2. 下载所需镜像
docker配置镜像加速器
PS:如果不知道具体用哪些镜像,可以先执行istioctl manifest apply --set profile=demo,然后通过kubectl get pod -n istio-system查看pod,再用kubectl describe pod pod名字 -n istio-system查看去拉取什么镜像
docker pull grafana/grafana:6.7.4
docker pull istio/proxyv2:1.5.8
docker pull jaegertracing/all-in-one:1.16
docker pull istio/pilot:1.5.8
docker pull kiali/kiali:v1.15
docker pull prom/prometheus:v2.15.1
2.3. 安装 demo
istioctl manifest apply --set profile=demo
等待所有的pod都为Running状态
kubectl get pod -n istio-system
查看服务
三、部署bookinfo实例
3.1. 为 default 命名空间开启自动注入
kubectl label namespace default istio-injection=enabled
3.2. 拉取相关镜像
docker pull istio/examples-bookinfo-details-v1:1.15.1
docker pull istio/examples-bookinfo-ratings-v1:1.15.1
docker pull istio/examples-bookinfo-reviews-v1:1.15.1
docker pull istio/examples-bookinfo-reviews-v2:1.15.1
docker pull istio/examples-bookinfo-reviews-v3:1.15.1
docker pull istio/examples-bookinfo-productpage-v1:1.15.1
cd /opt/istio/istio-1.5.8
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
nginx忽略
3.3. 创建入口网关
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
kubectl get gateway -n default
kubectl get vs -n default
3.4. 从网页访问
kubectl expose deployment productpage-v1 --type=NodePort #生成一个外部访问的端口
kubectl get svc
自动分配的外部访问端口为32456,可以通过浏览器访问http://10.168.41.129:32456/productpage
四、卸载istio
istioctl manifest generate --set profile=demo | kubectl delete -f -
参考文章:https://blog.****.net/baobaoxiannv/article/details/104021554