Kubernetes Network Policy 101
在bare mental上部署私有化的容器平台,由于资源池计算节点都是在一个IP段内(小一点是一个C段),在上面部署的应用系统A如果要访问自己的数据库X,就得开通整个IP段的硬件层面防火墙策略,这样另一个应用系统B其实也能访问数据库X(网络层面)。有了Kubernetes,我们可以尝试解决这个应用访问隔离的问题。
Network Policy,kubernetes的网络资源
Network policy(下文简称为np)的本质是通过Kubernetes(下文简称k8s)的网络插件,创建一系列的网络规则,实现细粒度控制出入口流量,从而解决应用访问隔离的问题。因此选用哪种k8s网络方案很重要,如果这个方案没有实现np,那么k8s就不具备应用访问隔离的能力了,具体可以参见官方文档。
GKE Demo
谷歌家的GKE可以通过命令创建一个开启network policy的k8s集群,它选用的calico网络方案的实现,目前开源世界里支持 NetworkPolicy 最好的解决方案了。为此,我创建了一个git repo,里面有基于GKE的详细例子:
https://github.com/nevermosby/k8s-network-policy101
还包括以下内容:
- 创建带特别标签(label)的workload:pod和namespace
- pod level
- ingress example
- egress example
- namespace level
- ingress example
- egress example
- 企业内使用的默认网络策略:默认无法访问集群外服务,需手动配置白名单;集群内跨namespace可通
你是打算把以前的文章全部分享一遍啊
要看是不是当下主流话题