第三篇:《在 Kubernetes 中部署 Istio:安装、配置与 Sidecar 注入》
理解了 Istio 的架构之后是时候亲手搭建一个 Istio 环境了。在 Kubernetes 集群中安装 Istio 有多种方式最常用的是 istioctl 命令行工具和 Helm。本文将详细介绍使用 istioctl 安装 Istio 的完整流程涵盖环境准备、安装配置文件的选型、命名空间 Sidecar 自动注入的配置以及通过 Bookinfo 示例应用验证 Istio 的核心功能。跟着操作你将拥有一个可用的 Istio 服务网格环境。一、环境准备在安装 Istio 之前需要确保以下条件已满足Kubernetes 集群一个可用的 Kubernetes 集群版本 1.19且 kubectl 已配置好与集群的通信。资源充足Istio 控制平面和 Sidecar 代理需要一定的计算资源。建议集群至少分配 4GB 内存和 2 个 CPU 核心。 本地开发建议如果你没有现成的 Kubernetes 集群可以使用 Minikube 或 Kind 在本地快速搭建一个测试环境。Minikube 启动命令minikube start --cpus4 --memory8192。二、使用 istioctl 安装 Istioistioctl 是 Istio 官方提供的命令行工具用于安装、配置和调试 Istio 服务网格。2.1 下载 istioctl# 下载最新版本的 Istiocurl-Lhttps://istio.io/downloadIstio|sh-# 进入 Istio 包目录cdistio-1.23.0# 将 istioctl 添加到 PATHexportPATH$PWD/bin:$PATH 版本选择建议使用最新的稳定版本。你可以访问 Istio 官方发布页面查看当前最新版本号并替换上述命令中的版本号。2.2 验证 istioctlistioctl version如果安装成功会显示客户端版本信息。2.3 安装 IstioIstio 提供了多种安装配置文件Profile每个 Profile 针对不同的使用场景进行了预配置Profile 说明 适用场景demo 功能齐全资源消耗适中包含 Jaeger、Grafana、Kiali 等附加组件 学习与测试推荐default 核心功能不含附加组件 生产环境的最小化部署minimal 仅包含控制平面不含 Ingress/Egress Gateway 自定义部署的基础remote 用于多集群架构中的远程集群 多集群部署对于学习和测试推荐使用 demo Profileistioctlinstall--setprofiledemo-y该命令会在 Kubernetes 集群的 istio-system 命名空间中部署 Istio 控制平面istiod和 Ingress Gateway。⚠️ 生产环境建议生产环境不建议直接使用 demo Profile。建议从 default Profile 开始根据实际需求逐步开启功能并通过 IstioOperator CRD 进行声明式配置管理。2.4 验证安装# 检查 Istio 控制平面 Pod 是否正常运行kubectl get pods-nistio-system# 检查 Istio 服务kubectl get svc-nistio-system预期输出应包含 istiod-xxx PodRunning和 istio-ingressgateway Service。三、配置 Sidecar 自动注入要让 Istio 接管服务的流量需要为每个 Pod 注入 Envoy Sidecar 容器。Istio 提供了自动注入机制大大简化了这一过程。3.1 为命名空间启用自动注入为需要启用服务网格的命名空间添加 istio-injectionenabled 标签# 为 default 命名空间启用自动注入kubectl label namespace default istio-injectionenabled 命名空间隔离建议将启用服务网格的服务放在独立的命名空间中例如 prod、staging 等。通过命名空间标签可以精细控制哪些服务加入网格。3.2 验证自动注入是否生效当命名空间被正确标记后新创建的 Pod 将自动注入 Envoy Sidecar 容器。# 创建一个测试 Podkubectl run nginx--imagenginx:alpine--restartNever# 查看 Pod 中的容器kubectl get pod nginx-ojsonpath{.spec.containers[*].name}预期输出应包含 nginx 和 istio-proxy 两个容器。如果没有 istio-proxy可能是 Pod 创建时命名空间尚未启用注入需要重启 Pod。3.3 手动注入备选方案如果不想为整个命名空间启用自动注入也可以使用 istioctl kube-inject 手动为 Deployment YAML 注入 Sidecaristioctl kube-inject-fdeployment.yaml|kubectl apply-f- 生产建议生产环境推荐使用自动注入因为它与 GitOps 工作流更契合且不需要修改原始的 Deployment YAML。四、部署 Bookinfo 示例应用Bookinfo 是 Istio 官方提供的示例应用用于演示服务网格的各项功能。它是一个简单的图书信息展示系统由四个微服务组成。4.1 部署 Bookinfo 应用确保 default 命名空间已启用自动注入后部署 Bookinfo 应用# 应用 Bookinfo 部署清单kubectl apply-fsamples/bookinfo/platform/kube/bookinfo.yaml4.2 验证部署# 查看所有 Pod每个 Pod 应有 2 个容器业务容器 istio-proxykubectl get pods# 查看服务kubectl get services预期输出应包含 details、productpage、ratings、reviews 四个服务以及各自对应的 Pod。4.3 配置 Ingress Gateway为了让外部能够访问 Bookinfo 应用需要配置 Istio Ingress Gateway# 应用 Ingress Gateway 配置kubectl apply-fsamples/bookinfo/networking/bookinfo-gateway.yaml4.4 访问 Bookinfo 应用方式一端口转发本地测试kubectl port-forward svc/istio-ingressgateway-nistio-system8080:80然后访问 http://localhost:8080/productpage。方式二获取外部 IP如果集群支持 LoadBalancer可以直接获取 Ingress Gateway 的外部 IP# 获取 Ingress Gateway 的外部 IPkubectl get svc istio-ingressgateway-nistio-system然后访问 http://EXTERNAL_IP/productpage。4.5 验证流量管理Bookinfo 应用的 reviews 服务有三个版本v1、v2、v3默认情况下请求会在这三个版本之间轮询。可以观察到每次刷新页面时“Reviews”部分的显示会变化v1 无星标、v2 有黑色星标、v3 有红色星标这证明了 Istio 的负载均衡功能正在工作。五、卸载 Istio如果需要清理 Istio 环境# 卸载 Istioistioctl uninstall--purge-y# 删除 Istio 命名空间kubectl delete namespace istio-system# 删除 Bookinfo 应用kubectl delete-fsamples/bookinfo/platform/kube/bookinfo.yaml六、小结安装方式istioctl install 是最快捷的安装方式demo Profile 适合学习测试。Sidecar 注入为命名空间添加 istio-injectionenabled 标签即可启用自动注入。Bookinfo 示例官方示例应用是验证 Istio 功能的最佳起点。验证要点检查 Pod 中是否包含 istio-proxy 容器以及 Ingress Gateway 是否正常工作。

相关新闻

AI音乐生成实战:Spark项目本地部署与结构化音乐生成解析

AI音乐生成实战:Spark项目本地部署与结构化音乐生成解析

如果你是一位音乐爱好者、内容创作者,或者正在寻找一种高效、低成本的方式为自己的视频或项目制作高质量背景音乐,那么你很可能已经对“AI音乐生成”这个领域产生了兴趣。但面对市面上众多的AI音乐工具,一个核心的痛点始终存在:生…

2026/8/5 8:15:35 阅读更多 →
黄金价格软件国内外价格实时监控超方便

黄金价格软件国内外价格实时监控超方便

软件介绍 GOLDALL,一款黄金价格实时监控工具。最近黄金价格跌得厉害,今天的价格好像已经到866一克了,真的是跌跌不休。如果你也在关注黄金行情,这款软件值得了解一下。 国内外价格实时显示 软件可以同时显示黄金的国内价格和国…

2026/8/5 8:15:35 阅读更多 →
容器化部署中特殊字符处理的性能优化实践

容器化部署中特殊字符处理的性能优化实践

1. 项目背景与核心挑战 这个标题中的"[特殊字符]_容器化部署的性能优化实战"实际上反映了一个非常典型的工程场景——在容器化环境中部署特殊字符处理服务时遇到的性能瓶颈问题。我去年在金融数据清洗项目中就遇到过类似案例,当时处理的是包含大量非ASCII…

2026/8/5 8:14:34 阅读更多 →

最新新闻

Python零基础入门实战:从环境搭建到爬虫与数据分析项目整合

Python零基础入门实战:从环境搭建到爬虫与数据分析项目整合

这类教程最值得先看的不是它覆盖了多少个知识点,而是能不能帮你从零开始,把环境搭稳、把基础语法跑通、把第一个项目跑起来,最后能独立完成爬虫和数据分析这类实际任务。很多新手卡在第一步——环境配置和工具选择上,或者学了一堆…

2026/8/5 9:01:54 阅读更多 →
构建高可用短视频内容API:从架构设计到工程实践

构建高可用短视频内容API:从架构设计到工程实践

1. 项目概述:从“小姐姐视频API”说起,我们到底在聊什么? 最近在和一些做内容应用开发的朋友聊天,发现一个挺有意思的现象:很多人一听到“小姐姐视频API”这个标题,第一反应要么是觉得“不正经”&#xff0…

2026/8/5 9:01:54 阅读更多 →
免费一站式AI模型平台体验指南:零门槛访问Grok等数十款模型

免费一站式AI模型平台体验指南:零门槛访问Grok等数十款模型

这次我们来看一个近期讨论度很高的 AI 工具集,它主打免费、易用,并且整合了包括 Grok 在内的数十款 AI 模型。对于想体验不同 AI 能力,尤其是想尝试 Grok 模型,但又不想折腾复杂部署和付费订阅的用户来说,这个方案值得…

2026/8/5 9:01:54 阅读更多 →
5分钟上手:三月七小助手的星穹铁道自动化终极指南

5分钟上手:三月七小助手的星穹铁道自动化终极指南

5分钟上手:三月七小助手的星穹铁道自动化终极指南 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 还在为《崩坏:星穹铁道》中永无止境的日常任…

2026/8/5 9:01:54 阅读更多 →
从提示词工程到智能体构建:LLM应用开发全链路实战指南

从提示词工程到智能体构建:LLM应用开发全链路实战指南

在构建大模型应用时,你是否遇到过这样的困境:精心设计的提示词(Prompt)效果时好时坏,模型输出不稳定;想要让AI根据你的私有知识库回答问题,却不知如何高效整合;或者想构建一个能自主…

2026/8/5 9:01:53 阅读更多 →
内网NTP服务搭建全攻略:从协议原理到高可用部署

内网NTP服务搭建全攻略:从协议原理到高可用部署

1. 项目缘起:为什么内网必须有自己的“钟表匠” 在分布式系统、虚拟化集群、数据库主从复制乃至日常的日志分析中,时间戳的一致性不是锦上添花,而是基石。我曾经历过一次惨痛的教训:一个由十几台服务器组成的微服务集群&#xff0…

2026/8/5 9:00:53 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →