写点什么

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

作者:万猫学社
  • 2022 年 8 月 05 日
  • 本文字数:1725 字

    阅读完需:约 6 分钟

手摸手带你 在 Windows 系统中安装 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 功能”后,勾选“Hyper-V”所有选项,如下图:



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

安装 Docker Desktop

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


安装完成后,启动 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:


istioctl install --set profile=demo -y
复制代码


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


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


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


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


kubectl get pods -n istio-system
复制代码


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



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


kubectl label namespace default istio-injection=enabled
复制代码


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

部署示例应用

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


kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
复制代码


如下图:



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



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


# 获取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>"
复制代码


具体操作如下图:



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


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

发布于: 刚刚阅读数: 4
用户头像

万猫学社

关注

资深研发工程师 2018.04.15 加入

微信搜索「万猫学社」,关注并回复「电子书」,免费获取12本必读技术书籍。

评论

发布
暂无评论
手摸手带你 在 Windows 系统中安装 Istio_云原生_万猫学社_InfoQ写作社区