发布于 2026-01-06 0 阅读
0

Kubernetes 中 Istio 服务网格安装分步指南 我们将介绍以下步骤 ⭐️ 由 Mux 呈现的 DEV 全球展示挑战赛:展示你的项目!

逐步指南:如何在 Kubernetes 中安装 Istio 服务网格

我们将经历以下步骤⭐️

由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!

在本教程中,您将学习如何在 Kubernetes 集群中安装 Istio 服务网格

我们将在集群中部署一个示例微服务演示应用,以便我们能够看到Istio 中这些微服务的全部功能和可视化效果🙌🏼

如果你想了解 Istio 和 Service Mesh 到底是什么以及它们的用途,可以观看我之前的视频,其中我详细解释了它们:Istio & Service Mesh - 15 分钟轻松讲解

为了演示,我将使用本地 Minikube 集群。

我们将经历以下步骤⭐️

1. 启动本地 Minikube 集群

因此,我们首先需要启动 Minikube 集群。
由于 Istio 需要大量资源,我们需要使用比默认配置更高的 CPU 和内存来启动 Minikube:


 start --cpus 6 --memory 8192

Enter fullscreen mode Exit fullscreen mode

2. 下载 Istio 并配置 Istioctl

下一步,我们需要实际安装 Istio 发布包,并将 Istioctl(Istio 的命令行界面)添加到我们的 $PATH 环境变量中。Istio
下载链接

3. 在 Minikube 集群中安装 Istio

安装好 Istioctl 后,我们现在可以使用它在 Kubernetes 集群中安装 Istiod,它是 Istio 的主要组件。
执行此命令非常简单:


 install

Enter fullscreen mode Exit fullscreen mode

运行该命令后应该会得到以下结果:
istioctl 安装的结果

4. 部署微服务应用程序

如果你还记得 Istio 服务网格架构,就会知道我们有 Istiod 组件(控制平面)和数据平面(本质上是注入到应用程序 Pod 中的代理)。因此,如果你有一个微服务应用程序,那么每个微服务都会有一个 Pod。

然后 Istio 会将 Envoy 代理注入到每个微
服务 Pod 中。
Istio架构

所以,为了实际体验 Istio,我们需要部署一个示例微服务应用程序,并在其中注入代理。🤔

因此,在这一步中,我们需要将微服务应用程序实际部署到集群中。
演示中,我使用的是这个示例 microservices-demo 应用程序:https://github.com/GoogleCloudPlatform/microservices-demo

在集群中部署应用程序:


 apply -f kubernetes-manifests.yaml

Enter fullscreen mode Exit fullscreen mode

5. 配置 Envoy 代理自动注入

不,我们需要明确地告诉 Istio 将代理注入到集群中启动的每个 Pod 中,因为它默认情况下不会注入代理。

配置其实非常简单。我们只需要给运行 Pod 的命名空间添加一个名为“istio-injection=enabled”的标签,像这样:


 label namespace default istio-injection=enabled

Enter fullscreen mode Exit fullscreen mode

要查看已注入的代理,您需要重启微服务 Pod。您可以通过删除 Pod,然后重新应用 Kubernetes 清单 yaml 文件来完成此操作。

6. 安装 Istio 插件以进行监控和数据可视化 🔍 📉

现在,我们的 Istio 组件已在集群中运行,它会自动将 Envoy 代理容器注入到我们在默认命名空间中创建的每个 Pod 中。😎

这很棒,但是我们还没有针对微服务运行情况的数据可视化工具。🤔

实际上,Istio 会收集所有这些代理容器的指标,因此您可以获得有关微服务性能、它们接收到的请求类型、指标数据等等的所有数据。但我们在这里看不到任何这些数据。

这就是 Istio 插件的用武之地。在 Istio 官方文档中,您可以查看随 Istio 发布包一起提供的可用集成:
Istio 集成

在 Istio 安装文件夹下,samples/addons您可以看到这些服务的 Kubernetes YAML 文件。

要将它们安装到集群中,只需使用 `kubectl apply` 命令应用这些 Kubernetes YAML 文件即可。例如,要安装 Kiali:


 apply -f istio-1.9.0/samples/addons/kiali.yaml

Enter fullscreen mode Exit fullscreen mode

例如,使用 Kiali 可以获得出色的可视化效果,您可以清楚地看到微服务之间的通信方式:
基亚利

要使数据可视化正常工作,
您的清单文件中需要添加一项内容。在启用 Istio 的集群中部署微服务时,您的 Deployment 和 Services 中必须包含“app”标签:
应用标签

如果没有这个,Pod 仍然会部署,也不会出现任何错误,但是可视化功能将无法工作!

希望这篇教程对你有帮助!😊 ⭐️


点击这里观看完整视频🤓

▬▬▬▬▬▬ 课程、电子书和训练营 🚀 ▬▬▬▬▬▬
► 成为 DevOps 工程师 - 完整教育课程:https://bit.ly/3gEwf4V
► Udemy 课程 - 点击此处享受最大折扣:http://bit.ly/2OgvzIO
► Kubernetes 101 - 精简易读的电子书合集:https://bit.ly/3mPIaiU


点赞、分享并关注我😍,获取更多内容:

文章来源:https://dev.to/techworld_with_nana/step-by-step-guide-to-install-istio-service-mesh-in-kubernetes-d6d