CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
服务网格与 SOA/课时/与 Kubernetes
RawBlame
课时目录12 节

服务网格与 SOA

  1. 01服务网格是什么
  2. 02SOA 与微服务
  3. 03Sidecar 模式
  4. 04流量管理
  5. 05mTLS 与服务身份
  6. 06Istio 入门
  7. 07与 Kubernetes
  8. 08优雅降级
  9. 09弹性与熔断
  10. 10网格与 API 网关
  11. 11运维与可观测性
  12. 12综合练习

与 Kubernetes

衔接 k8s-intro、helm。

30 分钟

与 Kubernetes

服务网格 不是 替代 Kubernetes,而是 叠加 在 K8s 网络与服务模型之上。Pod、Service、Deployment 仍由 kubernetes-essentials 那套资源描述;Istio 在此基础上注入 Sidecar、扩展流量与安全策略。

学习目标

  • 说清 K8s Service 与 Istio 服务发现的衔接
  • 理解命名空间、标签、Sidecar 注入的工作方式
  • 知道 Helm 安装 Istio 与升级时的注意点

分层关系

Deployment / Pod          ← 工作负载([k8s-deployments](/tracks/kubernetes-essentials/lessons/k8s-deployments))
Service / Endpoints       ← 集群 DNS 与后端列表([k8s-services](/tracks/kubernetes-essentials/lessons/k8s-services))
Istio Sidecar + CRD       ← 流量策略、mTLS、可观测
Ingress / Gateway         ← 北向入口([k8s-ingress](/tracks/kubernetes-essentials/lessons/k8s-ingress))

应用仍通过 http://course-service:8080 调用;Sidecar 拦截后按 VirtualService 选 subset。

Sidecar 注入

两种方式:

方式说明
自动注入命名空间标签 istio-injection=enabled,新建 Pod 带 envoy
手动注入istioctl kube-inject -f deploy.yaml | kubectl apply -f -

已有 Pod 改标签 不会 retroactive 注入,需滚动重启 Deployment。与 k8s-pods 多容器模型一致。

与 Helm 协作

Istio 官方 chart 拆分 base、istiod、gateway 等子 chart:

  • 安装:固定版本号,预发先验证
  • 升级:控制面先于数据面;阅读 release note 中 CRD 变更
  • 资源:为 Sidecar 预留 request/limit,避免节点资源耗尽

若 Spring Cloud 服务仍用 Eureka,在 K8s 上 通常迁移到 K8s Service + 网格,避免双注册中心(对照 sc-eureka)。

网络前提

  • Pod 间网络可达(CNI 正常)
  • 了解 NetworkPolicy 是否阻断 Sidecar 与控制面 15012/xDS 端口
  • 节点防火墙、云安全组放通 Ingress Gateway LoadBalancer

与 Spring Boot 部署

典型清单:

  1. Deployment:单容器 app 镜像
  2. Service:ClusterIP 暴露 8080
  3. 命名空间开启注入
  4. VirtualService / DestinationRule 按需添加
  • HPA 仍基于 CPU/自定义指标(k8s-resources)
  • Actuator 健康检查路径不要被 Sidecar 健康检查混淆——分别配置 livenessProbe 指向 app 端口。

    练习

    • 画一张 K8s + Istio 组件图:kube-apiserver、istiod、ingress gateway、业务 Pod
    • 列出从 VM + Spring Cloud 迁到 K8s + Istio 的三个迁移步骤
    • 阅读 ngx-k8s,对比裸机 Nginx 与 Ingress Gateway

    小结

    K8s 管生命周期与发现;Istio 管 Pod 间通信策略。 下一课讨论网格如何配合优雅降级。

    加载本节练习…
    ← 上一课Istio 入门下一课 →优雅降级