Kubernetes Cilium策略

2023-12-12 43

Cilium 是一个开源的容器网络代理,它提供了一种灵活且可扩展的网络策略管理机制。NetworkPolicy是 Cilium 提供的一种网络访问控制机制,它允许我们定义一组规则,这些规则可以限制特定命名空间中的 Pod 之间的网络通信。通过使用NetworkPolicy,我们可以实现更细粒度的网络访问控制,从而提高应用程序的安全性和可靠性。

本页展示如何使用 Cilium 提供 NetworkPolicy。

一、准备

必须拥有一个 Kubernetes 的集群,同时必须配置 kubectl 命令行工具与集群通信。 建议在至少有两个不作为控制平面主机的节点的集群上运行本教程。 如果还没有集群,可以通过 Minikube 构建一个自己的集群,或者可以使用下面的 Kubernetes 练习环境之一:

  • Killercoda
  • 玩转 Kubernetes

要获知版本信息,请输入 kubectl version.

二、在Minikube上部署Cilium

为了轻松熟悉 Cilium,可以根据 Cilium Kubernetes 入门指南 在 minikube 中执行一个 Cilium 的基本 DaemonSet 安装。

要启动 minikube,需要的最低版本为 1.5.2,使用下面的参数运行:

minikube version
minikube version: v1.5.2
minikube start --network-plugin=cni

对于 minikube 可以使用 Cilium 的 CLI 工具安装它。 为此,先用以下命令下载最新版本的 CLI:

curl -LO https://github.com/cilium/cilium-cli/releases/latest/download/cilium-linux-amd64.tar.gz

然后用以下命令将下载的文件解压缩到 /usr/local/bin 目录:

sudo tar xzvfC cilium-linux-amd64.tar.gz /usr/local/bin
rm cilium-linux-amd64.tar.gz

运行上述命令后,现在可以用以下命令安装 Cilium:

cilium install

随后 Cilium 将自动检测集群配置,并创建和安装合适的组件以成功完成安装。 这些组件为:

  • Secret cilium-ca 中的证书机构 (CA) 和 Hubble(Cilium 的可观测层)所用的证书;
  • 服务账号;
  • 集群角色;
  • ConfigMap;
  • Agent DaemonSet 和 Operator Deployment。

安装之后,可以用 cilium status 命令查看 Cilium Deployment 的整体状态。 在此处查看 status 命令的预期输出。

三、Cilium组件

部署使用 Cilium 的集群会添加 Pod 到 kube-system 命名空间。要查看 Pod 列表,运行:

kubectl get pods –namespace=kube-system -l k8s-app=cilium

将看到像这样的 Pod 列表:

NAME READY STATUS RESTARTS AGE
cilium-kkdhz 1/1 Running 0 3m23s
...

集群中的每个节点上都会运行一个 cilium Pod,通过使用 Linux BPF 针对该节点上的 Pod 的入站、出站流量实施网络策略控制。

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。