当前位置: 首页 > news >正文

Cilium Network Policy

Cilium Network Policy

安装Cilium CLI 

CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/main/stable.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}
sha256sum --check cilium-linux-${CLI_ARCH}.tar.gz.sha256sum
sudo tar xzvfC cilium-linux-${CLI_ARCH}.tar.gz /usr/local/bin
rm cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}

 安装Cilium

cilium install --version 1.16.3

验证安装(需要保证其他cni资源被删除,如flannel)

$ cilium status/¯¯\/¯¯\__/¯¯\    Cilium:             OK\__/¯¯\__/    Operator:           OK/¯¯\__/¯¯\    Envoy DaemonSet:    OK\__/¯¯\__/    Hubble Relay:       disabled\__/       ClusterMesh:        disabledDaemonSet              cilium             Desired: 1, Ready: 1/1, Available: 1/1
DaemonSet              cilium-envoy       Desired: 1, Ready: 1/1, Available: 1/1
Deployment             cilium-operator    Desired: 1, Ready: 1/1, Available: 1/1
Containers:            cilium             Running: 1cilium-envoy       Running: 1cilium-operator    Running: 1
Cluster Pods:          2/2 managed by Cilium
Helm chart version:    1.16.3
Image versions         cilium             quay.io/cilium/cilium:v1.16.3@sha256:62d2a09bbef840a46099ac4c69421c90f84f28d018d479749049011329aa7f28: 1cilium-envoy       quay.io/cilium/cilium-envoy:v1.29.9-1728346947-0d05e48bfbb8c4737ec40d5781d970a550ed2bbd@sha256:42614a44e508f70d03a04470df5f61e3cffd22462471a0be0544cf116f2c50ba: 1cilium-operator    quay.io/cilium/operator-generic:v1.16.3@sha256:6e2925ef47a1c76e183c48f95d4ce0d34a1e5e848252f910476c3e11ce1ec94b: 1

# 创建测试namespace
$ kubectl create ns cilium-netpol-test
# 创建Pod
$ kubectl run whoami --image=traefik/whoami -n cilium-netpol-test --labels='app=whoami'$ kubectl get pod -n cilium-netpol-test -o wide --show-labels
NAME     READY   STATUS    RESTARTS   AGE     IP          NODE         NOMINATED NODE   READINESS GATES   LABELS
whoami   1/1     Running   0          5m37s   10.0.0.40   custom-api   <none>           <none>            app=whoami

默认情况下Pod运行任何Pod的流量进入

$ kubectl run -it --rm --image=curlimages/curl --restart=Never -n cilium-netpol-test curl-test -- curl 10.0.0.40
Hostname: whoami
IP: 127.0.0.1
IP: ::1
IP: 10.0.0.40
IP: fe80::34db:21ff:fe83:f03
RemoteAddr: 10.0.0.21:49660
GET / HTTP/1.1
Host: 10.0.0.40
User-Agent: curl/8.10.1
Accept: */*pod "curl-test" deleted

Overview of Network Policy — Cilium 1.17.0-dev documentation

Layer 3 Examples — Cilium 1.17.0-dev documentation

现在设置CiliumNetworkPolicy,只允许带有app=curl标签的Pod进行访问

apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:name: "l3-rule"namespace: cilium-netpol-test
spec:endpointSelector:matchLabels:app: whoamiingress:- fromEndpoints:- matchLabels:app: curl

进行测试

$ kubectl run -it --rm --image=curlimages/curl --restart=Never -n cilium-netpol-test curl-test -- curl -m 0.1 10.0.0.40
curl: (28) Connection timed out after 100 milliseconds
pod "curl-test" deleted
pod cilium-netpol-test/curl-test terminated (Error)

curl命令超时,现在给Pod添加上labels='app=curl'

$ kubectl run -it --rm --image=curlimages/curl --restart=Never -n cilium-netpol-test --labels='app=curl' curl-test -- curl -m 0.1 10.0.0.40
Hostname: whoami
IP: 127.0.0.1
IP: ::1
IP: 10.0.0.40
IP: fe80::34db:21ff:fe83:f03
RemoteAddr: 10.0.0.161:49298
GET / HTTP/1.1
Host: 10.0.0.40
User-Agent: curl/8.10.1
Accept: */*pod "curl-test" deleted

成功执行


http://www.mrgr.cn/news/57024.html

相关文章:

  • 【Excel】函数各类公式总结
  • 问丫|快来打造你的专属 AI 数字分身,畅享独特社交体验!
  • 【Trick】IOS系统解决“未受信任的企业级开发者”问题
  • 【Linux系统】Ubuntu的简单操作
  • 探秘 ArrayList:源码剖析与扩容策略
  • 虚拟内存与物理内存:计算机存储系统的核心要素
  • ETLCloud搭配MySQL | 让关系型数据库更智能
  • 中国云厂出海:如何绕过暗礁,找到宝藏?
  • vue3.0 + vite打包完成后,将dist下的资源包打包成zip
  • 用哪种建站程序做谷歌SEO更容易?
  • DAG和Steps
  • C++ 红黑树
  • 接口测试 —— Postman 变量了解一下!
  • 提高爬虫性能的 5 个关键技巧:从并发到异步执行
  • 【Linux】僵尸进程和孤儿进程
  • 【算法笔记】前缀和算法原理深度剖析(超全详细版)
  • 使用 Cursor 和 Devbox 快速开发并上线 Gin 项目
  • Java 使用 itextpdf 自定义 生成 pdf
  • javascript实现aes算法
  • Ping32:企业级防泄密能力的强大守护者