资源隔离设计

本案例使用NetworkPolicy来进行资源隔离

要实现的目的:

  1. 用户isv应用不能访问k8s集群应用
  2. k8s集群应用可以访问isv应用
  3. isv应用可以访问外网

image.png

本案例的架构图:

image.png

 

  1. 创建isv-demon namespace

 

  1. 定义资源

为了不跟宿主机端口冲突, web的service端口定义为8800

 

 

  1. 创建WEB, API and DB Pods/Services

 

  1. 测试:

 

  1. 定义networkpolicy: deny-all

 

  1. 定义进栈和出栈访问:

 

  1. 创建NetworkPolicy

 

  1. 测试:

 

总结:

首先一定要给namespace打label, 因为NetworkPolicy是根据lable来match的

参考:

https://alwaysupalwayson.blogspot.com/2019/09/kubernetes-network-policies-how-to.html

https://github.com/mathieu-benoit/k8s-netpol

https://ahmet.im/blog/kubernetes-network-policy/

https://github.com/ahmetb/kubernetes-network-policy-recipes

 

Categories: KUBERNETES

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *