在云计算与容器编排领域,“资源交付模式”和“网络安全隔离”是两大核心议题。本文将先系统梳理云计算的三层划分标准(IaaS/PaaS/SaaS),再聚焦Kubernetes网络隔离的核心方案----NetworkPolicy,详解其原理、配置规则与实际应用,帮你理解容器网络“连通”之外的“隔离”逻辑。
一、云计算核心划分标准:IaaS、PaaS、SaaS
云计算的本质是“按需交付IT资源”,根据交付的资源抽象层次,分为三大类服务模式。三者的核心区别在于“用户需要管理的资源范围”----层次越高,用户需要关心的底层细节越少。
| 服务模式 | 全称(中文) | 核心交付内容 | 用户管理范围 | 典型案例 |
|---|---|---|---|---|
| IaaS | 基础设施即服务 | 虚拟化硬件资源(虚拟机、裸金属服务器、存储、网络) | 需自行管理操作系统、中间件、应用程序(如在虚拟机上装 Linux+MySQL + 业务系统) | AWS EC2、阿里云 ECS、腾讯云 CVM |
| PaaS | 平台即服务 | 预置了运行环境的开发 / 部署平台(容器集群、数据库、消息队列、中间件) | 无需管理硬件和操作系统,仅需关注应用代码和配置(如在 K8s 上部署 Java 应用) | AWS EKS、阿里云 ACK、Google App Engine |
| SaaS | 软件即服务 | 直接可用的应用软件(多租户模式,通过账号密码访问) | 零底层管理成本,仅需使用软件功能(如用邮箱、财务系统) | 阿里云企业邮箱、钉钉、 Salesforce |
关键对比:用户责任边界
- IaaS:用户=管理者+开发者(管OS到应用)
- PaaS:用户=开发者(只管应用代码)
- SaaS:用户=使用者(只管操作软件)
例如:同样是“部署一个电商网站”
- IaaS模式:先买ECS虚拟机,装CentOS+Nginx+Mysql,再传代码;
- PaaS模式:在ACK(阿里云K8s)上直接部署容器化的代码,数据库用阿里云RDS(托管服务);
- SaaS模式:直接用Shopify等现成电商平台,注册账号即可开店。
二、Kubernetes 网络隔离:为什么需要 NetworkPolicy?
再前面讲解K8s容器网络方案时,核心关注“容器如何连通”(如Pod跨节点通信、Service负载均衡),但默认情况下,K8s的网络是“全通的”----所有Pod可以自由收发流量,没有任何隔离。
这种“全通模式”在生产环境存在严重安全隐患:
- 多租户场景:租户A的Pod可能访问租户B的敏感服务(如数据库);
- 微服务场景:非前端Pod直接访问数据库Pod(跳过权限校验);
- 故障扩散:被入侵的Pod可能横向渗透其他服务。
Kubernetes解决网络隔离的方案,就是通过NetworkPolicy这个API对象,定义“流量白名单”----明确哪些Pod可以和哪些Pod/IP通信,实现“按需隔离”。
注:什么是“流量白名单”什么是“流量黑名单”?
- 流量白名单:默认拒绝所有流量,仅明确加入白名单的可信对象(如特定IP、用户)可通过的访问控制策略。
- 流量黑名单:默认允许所用流量,仅明确加入黑名单的恶意对象(如攻击IP、违规用户)被拒绝的访问控制策略。
三、NetworkPolicy 核心概念与工作原理
NetworkPolicy是K8s中描述“网络访问规则”的资源,仅作用于特定Nam

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



