运维八一 运维八一
首页
运维杂记
编程浅尝
周积跬步
专栏
生活
关于
收藏
  • 分类
  • 标签
  • 归档
Source (opens new window)

运维八一

运维,运维!
首页
运维杂记
编程浅尝
周积跬步
专栏
生活
关于
收藏
  • 分类
  • 标签
  • 归档
Source (opens new window)
  • Devops笔记

  • Kubernetes

  • 运维监控系统

  • go分布式爬虫

  • Linux性能优化

  • 夜莺(nightingale)开源观测平台

  • kubernetes-network-policy-recipes

    • create-cluster
    • deny-all-traffic-to-an-application
    • allow-all-traffic-to-an-application
      • Example
        • Try it out
        • Cleanup
    • limit-traffic-to-an-application
    • deny-all-non-whitelisted-traffic-in-the-namespace
    • deny-traffic-from-other-namespaces
    • allow-traffic-from-all-namespaces
    • allow-traffic-from-a-namespace
    • allow-traffic-from-some-pods-in-another-namespace
    • allow-external-traffic
    • allow-traffic-only-to-a-port
    • allowing-traffic-with-multiple-selectors
    • deny-egress-traffic-from-an-application
    • deny-all-non-whitelisted-traffic-from-the-namespace
    • deny-external-egress-traffic
    • README
  • 专栏
  • kubernetes-network-policy-recipes
lyndon
2024-02-26
目录

allow-all-traffic-to-an-application

# ALLOW all traffic to an application

Use Case: After applying a deny-all policy which blocks all non-whitelisted traffic to the application, now you have to allow access to an application from all pods in the current namespace.

Applying this policy makes any other policies restricting the traffic to the pod void, and allow all traffic to it from its namespace and other namespaces.

# Example

Start a web application:

kubectl run web --image=nginx --labels="app=web" --expose --port=80

Save the following manifest to web-allow-all.yaml:

kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: web-allow-all
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: web
  ingress:
  - {}
1
2
3
4
5
6
7
8
9
10
11

A few remarks about this manifest:

  • namespace: default deploy this policy to the default namespace.
  • podSelector applies the ingress rule to pods with app: web
  • Only one ingress rule is specified, and it is empty.
    • Empty ingress rule ({}) allows traffic from all pods in the current namespace, as well as other namespaces. It corresponds to:

      - from:
        - podSelector: {}
          namespaceSelector: {}
      

Now apply it to the cluster:

$ kubectl apply -f web-allow-all.yaml
networkpolicy "web-allow-all" created"
1
2

Also apply the web-deny-all policy. This way you can validate that applying web-allow-all will make the web-deny-all void.

# Try it out

$ kubectl run test-$RANDOM --rm -i -t --image=alpine -- sh
/ # wget -qO- --timeout=2 http://web
<!DOCTYPE html>
<html><head>
...

Traffic is allowed.

# Cleanup

kubectl delete pod,service web
kubectl delete networkpolicy web-allow-all web-deny-all
1
2
上次更新: 2024/02/26, 10:14:04
deny-all-traffic-to-an-application
limit-traffic-to-an-application

← deny-all-traffic-to-an-application limit-traffic-to-an-application→

最近更新
01
ctr和crictl显示镜像不一致
03-13
02
alpine镜像集成常用数据库客户端
03-13
03
create-cluster
02-26
更多文章>
Theme by Vdoing | Copyright © 2015-2024 op81.com
苏ICP备18041258号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式