手摸手带你 在 Windows 系统中安装 Istio

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 通过负载均衡、服务间的身份验证、监控等方法,Istio 可以轻松地创建一个已经部署了服务的网络,而服务的代码只需很少更改甚至无需更改。

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

Docker Desktop 是一款适用于 Mac 或 Windows 环境的易于安装的应用程序,使您能够在几分钟内开始编码和容器化。Docker Desktop 包含了从您的机器构建、运行和共享容器化应用程序所需的一切。

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

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

Docker Desktop

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

成功安装 Docker Desktop 后,打开一个终端,运行 docker --version 来检查机器上安装的 Docker 版本。

开启 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:

istioctl install --set profile=demo -y
AI 代码解读

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

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

C:\万猫学社> istioctl install --set profile=demo -y
 ✔ Istio core installed 
 ✔ Istiod installed 
 ✔ Egress gateways installed 
 ✔ Ingress gateways installed 
 ✔ Installation complete
AI 代码解读

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

kubectl get pods -n istio-system
AI 代码解读

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

kubectl get pods -n istio-system

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

kubectl label namespace default istio-injection=enabled
AI 代码解读

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

部署示例应用

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

kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
AI 代码解读

如下图:

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

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

kubectl get pods

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

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

具体操作如下图:

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

此时,BookInfo 应用已经部署,但还不能被外界访问。 要开放访问,你需要创建 Istio 入站网关(Ingress Gateway), 它会在网格边缘把一个路径映射到路由。

执行以下命令,把应用关联到 Istio 网关:

kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
AI 代码解读

执行下面命令以判断你的 Kubernetes 集群环境是否支持外部负载均衡:

kubectl get svc istio-ingressgateway -n istio-system
AI 代码解读

如果 EXTERNAL-IP 有值, 那么就有了一个外部的负载均衡,可以用它做入站网关。 但如果 EXTERNAL-IP 的值为 或者一直是 状态, 则没有提供可作为入站流量网关的外部负载均衡。 在这个情况下,可以用服务(Service)的 节点端口 访问网关。

最后,感谢你这么帅,还给我 点赞
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
打赏
0
0
0
0
38
分享
相关文章
如何在Windows 10系统中查看已连接WiFi密码-亲测可用-优雅草卓伊凡
如何在Windows 10系统中查看已连接WiFi密码-亲测可用-优雅草卓伊凡
183 15
如何在Windows 10系统中查看已连接WiFi密码-亲测可用-优雅草卓伊凡
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
133 7
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
YashanDB Windows客户端安装
本文介绍YashanDB客户端(Windows)的安装、使用及卸载步骤。首先,下载并解压软件包至本地路径,配置环境变量。接着,通过cmd窗口使用yasql命令连接数据库,执行SQL操作。最后,卸载时删除相关环境变量和客户端目录。更多功能请参考官方文档。
YashanDB Windows客户端安装
Windows中安装WSL 2和Ubuntu系统的教程
回看这一路,有趣吧?你已经跨界成为了一个Windows和Linux的桥梁。期待在代码的世界里,把一切玩得风生水起!
65 13
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
680 16
YashanDB Windows客户端安装
本文详细介绍了YashanDB客户端(Windows)的安装、使用与卸载步骤。安装部分包括解压软件包至本地路径,并配置系统环境变量;使用部分通过cmd窗口运行`yasql`命令连接远程数据库,执行相关操作;卸载部分则说明了删除环境变量及客户端目录的具体方法。更多功能可参考官方文档中的C驱动、imp、exp、yasldr和yasql工具说明。
YashanDB Windows客户端安装
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
742 0
Windows 环境下 Odoo 安装保姆级教程
本教程详细介绍了在 Windows 系统上通过虚拟机部署 Odoo 的完整流程。首先确认硬件需求,确保 CPU、内存和磁盘空间满足最低配置;接着安装 VMware Workstation Pro 并创建 Ubuntu 虚拟机,配置桥接网络以实现主机与虚拟机的通信;随后借助微聚云快速安装预配置好的 Odoo 环境,简化复杂环境搭建;最后通过浏览器访问虚拟机 IP,完成 Odoo 数据库初始化及基础设置。整个过程清晰易懂,适合新手快速上手 Odoo 部署。
398 4
Windows 7纯净版重装教程|附微软原版镜像下载+驱动安装避坑技巧
本文详细介绍如何安全、高效地重装电脑系统,解决蓝屏、崩溃等问题。基于10年经验,涵盖从官方镜像获取、启动盘制作、数据备份到系统部署的全流程,并针对老旧机型优化。提供驱动一键安装工具和系统激活指南,确保无后门风险。文中还列出常见问题解决方案及操作禁忌,帮助用户顺利完成系统重装,让电脑重获新生。建议收藏并转发给有需要的朋友,欢迎留言咨询疑难问题。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问