将 Cilium 用于 NetworkPolicy
本页面介绍如何将 Cilium 用于 NetworkPolicy。
有关 Cilium 的背景信息,请阅读Cilium 简介。
准备工作
您需要有一个 Kubernetes 集群,并且 kubectl 命令行工具必须配置为与您的集群通信。建议在至少有两个节点且这些节点不充当控制平面主机的集群上运行本教程。如果您还没有集群,则可以使用minikube创建一个集群,或者可以使用以下 Kubernetes 游乐场之一
要检查版本,请输入kubectl version
。在 Minikube 上部署 Cilium 进行基本测试
为了轻松熟悉 Cilium,您可以按照Cilium Kubernetes 快速入门指南在 minikube 中执行 Cilium 的基本 DaemonSet 安装。
要启动 minikube,所需的最低版本为 >= v1.5.2,请使用以下参数运行
minikube version
minikube version: v1.5.2
minikube start --network-plugin=cni
对于 minikube,您可以使用其 CLI 工具安装 Cilium。为此,请先使用以下命令下载最新版本的 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。
- 代理 DaemonSet 和 Operator 部署。
安装完成后,您可以使用 cilium status
命令查看 Cilium 部署的总体状态。请参阅此处的 status
命令的预期输出。
快速入门指南的其余部分说明了如何使用示例应用程序强制执行 L3/L4(即 IP 地址 + 端口)安全策略以及 L7(例如 HTTP)安全策略。
部署 Cilium 以用于生产环境
有关为生产环境部署 Cilium 的详细说明,请参阅:Cilium Kubernetes 安装指南 本文档包含详细的要求、说明和示例生产 DaemonSet 文件。
了解 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 的流量强制执行网络策略。
后续步骤
集群运行后,您可以按照声明网络策略来试用 Cilium 的 Kubernetes NetworkPolicy。祝您使用愉快,如果您有任何问题,请使用Cilium Slack 频道联系我们。