# Kubernetes 网络策略指南

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1745939673329/00b5f025-9ba1-4551-8ba6-c4e56cd1abe4.gif align="center")

*有了网络策略，你也做得到！*

这里包含一系列的 [Kubernetes 网络策略](https://kubernetes.io/docs/concepts/services-networking/network-policies/)的相关用例以及相关的 YAML 文件。想要知道如何在 Kubernetes 中对某一应用的流量进行阻拦或者限制，请继续阅读。

尝试网络策略的最简单方法就是创建一个新的 [Google Container Engine 集群](https://cloud.google.com/container-engine)。在现有集群上应用网络策略，可能会造成网络中断。在成文期间，多数云供应商尚未提供内置的网络策略支持。

如果你对网络策略一窍不通，建议首先阅读我的文章：[Securing Kubernetes Cluster Networking](https://ahmet.im/blog/kubernetes-network-policy/)。

### 开始之前

* 创建集群
    

### 基础

* 拦截到一个应用的所有流量
    
* 限制到一个应用的流量
    
* 允许所有目标为某个应用的流量
    

### 命名空间

* 拦截当前命名空间中，所有白名单之外的流量
    
* 拦截所有来自于其他命名空间的流量
    
* 允许来自所有命名空间的，目标为某应用的流量
    
* 允许所有来自于某命名空间的流量
    
* 允许来自某命名空间某些 Pod 的流量
    
* 限制当前命名空间内到某应用的流量
    

### 控制外部客户端流量

* 允许外部客户端的流量
    

### 进阶

* 只允许目标为指定端口的流量
    
* 用多个选择器选择允许通过的流量
    

### 控制外发流量（Egress）

* 拦截来自某应用的外发流量
    
* 拦截命名空间内所有白名单之外的 Egress 流量
    
* 限制来从指定应用到某些 Pod 的 egress 流量。
    
* 只允许目标是命名空间内某 Pod 的流量。
    
* 拦截外部的 egress 流量
    

---

## 作者

Ahmet Alp Balkan ([@ahmetb](https://twitter.com/ahmetb)).

Copyright 2017, Google Inc. Distributed under Apache License Version 2.0 ,see [LICENSE](LICENSE) for details.

声明: 这并非 Google 官方文档。
