istio安装

一 istio安装

Istio / Getting Started

一  istio安装
https://istio.io/latest/docs/setup/getting-started/
# 下载
cd /usr/local/
curl -L https://istio.io/downloadIstio | sh -


curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.14.1 TARGET_ARCH=x86_64 sh -
cd istio-1.14.1
export PATH=$PWD/bin:$PATH
   ln -sv istio-1.14.1 istio 
    ln -sv /usr/local/istio/bin/istioctl /usr/local/bin/istioctl 
# 安装
istioctl profile list 
        default: 生产可用
        demo:测试环境使用

istioctl install --set profile=demo -y







安装成功如下所示

然后查看istio Pod

root@k8s-master01:/usr/local# kubectl get pod -n istio-system
NAME                                    READY   STATUS    RESTARTS   AGE
istio-egressgateway-7fcb98978c-b885f    1/1     Running   0          11m
istio-ingressgateway-55b6cffcbc-6knqm   1/1     Running   0          11m
istiod-56d9c5557-stvdz                  1/1     Running   0          16m

查看istio的svc

编辑istio-ingressgateway

可以通过浏览器直接访问

kubectl edit svc istio-ingressgateway -n istio-system
externalIPs:
- 172.31.7.100

然后再次查看svc

给指定命名空间打标签,凡是在这个命名空间内的Pod都会自动注入sidercar

kubectl label namespace default istio-injection=enabled

二 部署各插件

各插件主要包括 grafana jaeger kiali prometheus,其中kiali无法下载

docker pull quay.io/kiali/kiali:v1.50
ctr images pull quay.io/kiali/kiali:v1.50

下载完镜像后,部署各个插件,如下所示

cd /usr/local/istio/ kubectl apply -f samples/addons/

三 bookinfo项目部署

注意这里面有部分镜像也无法下载

3.1 部署

kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml

kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml #网络

访问url ip/productpage

http://192.168.24.236/productpage

默认一直刷新访问,会在三个版本直接不停的切换

登录用户名 jason 无密码

kubectl api-resources --api-group=networking.istio.io #查看资源

3.2 部署并测试bookinfo在istio之上的请求路由功能

Istio / Request Routing

测试流量治理

首先 执行

Istio / Bookinfo Application

#必须先执行这个 kubectl apply -f samples/bookinfo/networking/destination-rule-all.yaml

然后执行,把所有流量请求到了v1

kubectl apply -f samples/bookinfo/networking/virtual-service-all-v1.yaml

无论浏览器怎么刷新,都是请求到v1

kubectl apply -f virtual-service-reviews-v3.yaml #只访问v3版本

执行多个规则,会覆盖前面的规则。

三 映射kiali,浏览器访问

GitHub - iKubernetes/istio-in-practise

https://github.com/iKubernetes/istio-in-practise/tree/main/Traffic-Management-Basics/kiali-port-80

克隆上面的代码到本地仓库

映射kiali到外网:

cd /root/istio-in-practise/Traffic-Management-Basics kubectl apply -f kiali-port-80/

查看networking和virtualservices,然后在hosts文件里增加 kiali.magedu.com 这个域名解析即可访问

root@k8s-master1:~/istio-in-practise/Traffic-Management-Basics# kubectl get gateways.networking -n istio-system 
NAME            AGE
kiali-gateway   109s
root@k8s-master1:~/istio-in-practise/Traffic-Management-Basics# kubectl get virtualservices -n istio-system 
NAME                   GATEWAYS            HOSTS                  AGE
kiali-virtualservice   ["kiali-gateway"]   ["kiali.magedu.com"]   2m5s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值