首页 > 其他分享 >安装istio和部署bookinfo项目

安装istio和部署bookinfo项目

时间:2022-12-20 22:00:53浏览次数:51  
标签:kubectl 部署 istio bookinfo samples apply kiali

一 istio安装

1.1 下载安装

​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和部署bookinfo项目_github


安装istio和部署bookinfo项目_Management_02

1.2 查看pod和svc

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和部署bookinfo项目_命名空间_03

1.3 设置loadbalancer的地址

这个地址一般是vip地址,

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

然后再次查看svc

安装istio和部署bookinfo项目_Management_04

二 部署istio里各个插件

各插件主要包括 grafana jaeger kiali prometheus,

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

然后查看各个pod

安装istio和部署bookinfo项目_github_05

三 部署bookinfo项目进行测试

3.1 给指定命名空间打标签

凡是在这个命名空间内的Pod都会自动注入sidercar

kubectl label namespace default istio-injection=enabled

3.2 部署bookinfo

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

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

效果如下图所示:

安装istio和部署bookinfo项目_命名空间_06

安装istio和部署bookinfo项目_命名空间_07

访问url ip/productpage

安装istio和部署bookinfo项目_命名空间_08

3.3 验证流量治理

首先 执行,详情见https://istio.io/latest/docs/examples/bookinfo/#apply-default-destination-rules

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

3.3.1 测试v1版本流量

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

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

安装istio和部署bookinfo项目_Management_09

3.3.3 测试v3版本流量

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

安装istio和部署bookinfo项目_github_10

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

四 映射kiali,浏览器访问

​https://github.com/iKubernetes/istio-in-practise.git​​ 克隆代码到本地服务器

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

安装istio和部署bookinfo项目_github_11

作者:​​渐行渐远​​

标签:kubectl,部署,istio,bookinfo,samples,apply,kiali
From: https://blog.51cto.com/825536458/5956861

相关文章

  • 第八次实验--Web部署
    第八次实验--Web部署实验相关配置实验前置知识LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:Linux,操作系统,openEuler就是一种Linux发......
  • 如何部署两个JMS网关,形成双机热备
    大家使用JMS的过程中,可能会留意到,不管是微服务在注册时,还是RemoteClient构造时,所指向的网关都是一个NetAddress数组,之所以网关地址是多个,而不是一个,那是因为网关是一个双击......
  • 部署Kubernetes(k8s)时,为什么要关闭swap、selinux、firewalld
    作者:知乎用户链接:https://www.zhihu.com/question/374752553/answer/2665255695来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。防火墙和s......
  • supervisor+gunicorn+uvicorn部署fastapi项目
    一、编写一个项目本项目是在虚拟环境下的:先启动虚拟环境:source.venv/bin/activate。(创建虚拟环境自己去找) 项目用于演示,所以非常简单,......
  • 轻量服务器搭配宝塔面板一键式部署WordPress个人博客
    你想要拥有一个自己的网站吗,不在受第三方网站的约束,自由撰写文章帖子,随时随地发挥你的想象。其实搭建一个个人网站没有那么麻烦,完全小白用户也可以办到,只需要点点鼠标就可......
  • 手把手教你一套完善且高效的k8s离线部署方案
    作者:郝建伟背景面对更多项目现场交付,偶而会遇到客户环境不具备公网条件,完全内网部署,这就需要有一套完善且高效的离线部署方案。系统资源编号主机名称IP资源类型......
  • k8s原理之-Flannel网络二进制部署和测试
    一、K8S的ip地址NodeIP:节点设备的IP,如物理机,虚拟机等容器宿主的实际IP。PodIP:Pod的IP地址,是根据docker0网络IP段进行分配的。ClusterIP:Service的IP,是一个虚拟I......
  • 实验八——网页部署
    实验八——网页部署一、购买云服务器二、实验流程在云服务器上安装相应程序安装相关程序:dnfinstallhttpdmysql-serverphpphp-mysqlndphp-fpm启动Apache服务:s......
  • 使用宝塔面板部署项目注意事项
    使用宝塔面板部署项目注意事项Noinputfilespecified解决方法......
  • spring boot 调试 - 热部署
    在bash脚本中的启动方式:#!/bin/bashJAVA_OPTS="-Xdebug-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"nohupjava-jar$JAVA_OPTSscheduler-0.0.1.......