经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Windows » 查看文章
手摸手带你 在Windows系统中安装Istio
来源:cnblogs  作者:万猫学社  时间:2023/5/30 10:06:59  对本文有异议

Istio简介

通过负载均衡、服务间的身份验证、监控等方法,Istio 可以轻松地创建一个已经部署了服务的网络,而服务的代码只需很少更改甚至无需更改。

通过在整个环境中部署一个特殊的 sidecar 代理为服务添加 Istio 的支持,而代理会拦截微服务之间的所有网络通信,然后使用其控制平面的功能来配置和管理 Istio,包括:

  • 为 HTTP、gRPC、WebSocket 和 TCP 流量自动负载均衡。
  • 通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制。
  • 可插拔的策略层和配置 API,支持访问控制、速率限制和配额。
  • 集群内(包括集群的入口和出口)所有流量的自动化度量、日志记录和追踪。
  • 在具有强大的基于身份验证和授权的集群中实现安全的服务间通信。

在Istio官方文档中,安装Istio是以Linux或MacOS系统为例的,对于Windows用户不是很友好,不过真难不倒我们。

安装 Hyper-V

Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化。Hyper-V 可用于 64 位 Windows 10 专业版、企业版和教育版。 它无法用于家庭版。

点击“小窗户”,然后再点击“设置”,如下图:

设置

在搜索框中输入“启用或关闭Windows功能”,如下图:

启用或关闭Windows功能

点击“启用或关闭Windows功能”后,勾选“Hyper-V”所有选项,如下图:

Hyper-V

点击“确定”,等一会儿就安装好了。(可能需要重启电脑)

安装 Docker Desktop

访问https://desktop.docker.com/win/stable/amd64/Docker%20Desktop%20Installer.exe下载,双击Docker Desktop Installer.exe运行安装程序。按照安装向导上的说明授权安装程序并继续进行安装。

安装完成后,启动Docker Desktop,等一会儿初始化完成后,将启动入门教程:

Docker Desktop

这个教程包括一个简单的练习,以构建示例Docker镜像,将其作为容器运行,将映像推送并保存到Docker Hub。

开启 Kubernetes

在Docker Desktop的设置中,为 Kubernetes 配置 CPU 和 内存资源,建议分配4核或更多CPU,8GB或更多内存,如下图:

在Docker Desktop的设置中,勾选开启 Kubernetes 和 显示系统容器,如下:

重启Docker Desktop后,等待Kubernetes启动,启动成功后,可以看到Kubernetes的标签变成绿色,并且在容器列表中可以看到Kubernetes相关的容器,如下图:

安装

到Istio的官方网站(https://github.com/istio/istio/releases)下载windows系统的安装包,如下图:

把压缩包解压到你觉得安逸的目录里,然后把istio-1.14.0\bin目录添加到环境变量中。

打开命令提示符,执行istioctl version命令可以看到IIstio的版本信息,说明环境变量设置成功,如下图:

执行如下命令,安装Istio:

  1. istioctl install --set profile=demo -y

本次安装采用 demo 配置组合。 选择它是因为它包含了一组专为测试准备的功能集合,另外还有用于生产或性能测试的配置组合。

稍等片刻,我们就可以看到:

  1. C:\万猫学社> istioctl install --set profile=demo -y
  2. ? Istio core installed
  3. ? Istiod installed
  4. ? Egress gateways installed
  5. ? Ingress gateways installed
  6. ? Installation complete

执行如下命令,查看Istio是否安装成功:

  1. kubectl get pods -n istio-system

可以看到 Istio 相关的 Pod 都处于 Running 状态,如下图:

kubectl get pods -n istio-system

给命名空间添加标签,指示 Istio 在部署应用的时候,自动注入 Envoy 边车代理:

  1. kubectl label namespace default istio-injection=enabled

至此,Istio已经在在Windows上安装完成了。如果你还想进行一些学习或者测试Istio的功能,可以部署示例应用。

部署示例应用

进入istio-1.14.0目录中,执行一下命令,部署 Bookinfo 示例应用:

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

如下图:

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

稍等几分钟后,执行kubectl get pods命令我们就可以看到Bookinfo 示例应用相关的 Pod 都处于 Running 状态,如下图:

kubectl get pods

最后,我们通过检查返回的页面标题,来验证应用是否已在集群中运行,并已提供网页服务:

  1. # 获取ratings的Pod名称
  2. kubectl get pod -l app=ratings -o jsonpath={.items[0].metadata.name}
  3. # 替换掉ratings的Pod名称
  4. kubectl exec ratingsPod名称 -c ratings -- curl -s productpage:9080/productpage | findstr /r "<title>.*</title>"

具体操作如下图:

返回的页面标题为:<title>Simple Bookstore App</title>

最后,感谢你这么帅,还给我点赞

原文链接:https://www.cnblogs.com/heihaozi/p/17442462.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号