美文网首页
网络策略--简单示例

网络策略--简单示例

作者: 杀破魂 | 来源:发表于2020-08-06 15:32 被阅读0次

本示例使用基于calico的网络策略实验。

实验目的,使用策略规则,建立简单的网络隔离。

创建命名空间 policy-demo

kubectl create ns policy-demo

创建 demo pod

1、 在命名空间中创建nginx pod

kubectl create deployment --namespace=policy-demo nginx --image=nginx

2、开放service端口

kubectl expose --namespace=policy-demo deployment nginx --port=80

3、确认nginx service能够访问
创建一个busybox,使用wget命令验证

kubectl run --namespace=policy-demo access --rm -ti --image busybox /bin/sh
[root@k8s-master ~]# kubectl run --namespace=policy-demo access --rm -ti --image busybox /bin/sh
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
If you don't see a command prompt, try pressing enter.
/ # wget -q nginx -O -
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

使用策略隔离

创建一个命名空间policy-demo中所有pod都默认给拒绝的行为。

kubectl create -f - <<EOF
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: default-deny
  namespace: policy-demo
spec:
  podSelector:
    matchLabels: {}
EOF

隔离验证

阻止所有要访问nginx service

kubectl run --namespace=policy-demo access --rm -ti --image busybox /bin/sh
wget -q --timeout=5 nginx -O -
wget: download timed out

允许使用网络策略访问

kubectl create -f - <<EOF
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: access-nginx
  namespace: policy-demo
spec:
  podSelector:
    matchLabels:
      app: nginx
  ingress:
    - from:
      - podSelector:
          matchLabels:
            run: access
EOF

这个策略规则允许流量从带标签run: access的pod到达带标签app: nginx

现在能够从access的pod访问service

kubectl run --namespace=policy-demo cant-access --rm -ti --image busybox /bin/sh
wget -q --timeout=5 nginx -O -

相关文章

  • 网络策略--简单示例

    本示例使用基于calico的网络策略实验。 实验目的,使用策略规则,建立简单的网络隔离。 创建命名空间 polic...

  • 常用设计模式 策略模式

    策略模式 策略模式专注于对象行为。 UML 示例 组成 抽象策略角色 具体策略角色 环境角色 下面,结合UML示例...

  • Matlab 深度学习工具箱™入门指南(2)

    创建简单序列分类网络 本示例说明了如何创建简单的长期短期记忆(LSTM)分类网络。 要训​​练深度神经网络对序列数...

  • OkHttp源码解析

    OkHttp简单使用 gradle依赖配置 网络权限 GET请求示例 核心源码解析 网络请求任务调度,RealCa...

  • http 简单防止Charles抓包

    简单使用Charles抓包工具,发现好多APP接口都是直接暴露。简单处理下网络请求,示例代码如下: NSURL *...

  • 类注释模板

    类注释模板: :: 示例: :: 异常策略 OORedis 抛出异常的策略仿效 Python 内置类的异常抛出策略...

  • 快速检测服务器网络环境

    在开发/生产环境提供机器之后,很重要的一点就是检测网络策略。这里提供个简单的方法测试网络策略是否已经按需要开通。此...

  • 策略模式 示例

    策略模式 创建一个接口 创建实现接口的实体类。 创建 Context 类 使用 Context 来查看当它改变策略...

  • {C#}设计模式辨析.策略

    背景 策略作为算法,可自由替换 示例

  • 策略模式

    策略模式是最简单的一种模式,就是根据不同子类的需求改写父类的接口实现各自的特性。 示例代码

网友评论

      本文标题:网络策略--简单示例

      本文链接:https://www.haomeiwen.com/subject/ajwzrktx.html