5.4 KiB
reviewers, title, content_template, weight
| reviewers | title | content_template | weight | |
|---|---|---|---|---|
|
使用 Cilium 作为 NetworkPolicy | templates/task | 20 |
{{% capture overview %}}
本页展示了如何使用 Cilium 作为 NetworkPolicy。
关于 Cilium 的背景知识,请阅读 Cilium 介绍。
{{% /capture %}}
{{% capture prerequisites %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
在 Minikube 上部署 Cilium 用于基本测试
为了轻松熟悉 Cilium 您可以根据Cilium Kubernetes 入门指南在 minikube 中执行一个 cilium 的基本的 DaemonSet 安装。
在 minikube 中的安装配置使用一个简单的“一体化” YAML 文件,包括了 Cilium 的 DaemonSet 配置,连接 minikube 的 etcd 实例,以及适当的 RBAC 设置。
$ kubectl create -f https://raw.githubusercontent.com/cilium/cilium/master/examples/kubernetes/cilium.yaml
configmap "cilium-config" created
secret "cilium-etcd-secrets" created
serviceaccount "cilium" created
clusterrolebinding "cilium" created
daemonset "cilium" created
clusterrole "cilium" created
入门指南其余的部分用一个示例应用说明了如何强制执行L3/L4(即 IP 地址+端口)的安全策略以及L7 (如 HTTP)的安全策略。
部署 Cilium 用于生产用途
关于部署 Cilium 用于生产的详细说明,请见Cilium Kubernetes 安装指南 ,此文档包括详细的需求、说明和生产用途 DaemonSet 文件示例。
{{% /capture %}}
{{% capture discussion %}}
了解 Cilium 组件
部署使用 Cilium 的集群会添加 Pods 到kube-system命名空间。 要查看此Pod列表,运行:
kubectl get pods --namespace=kube-system
您将看到像这样的 Pods 列表:
NAME DESIRED CURRENT READY NODE-SELECTOR AGE
cilium 1 1 1 <none> 2m
...
有两个主要组件需要注意:
- 在集群中的每个节点上都会运行一个
ciliumPod,并利用Linux BPF执行网络策略管理该节点上进出 Pod 的流量。 - 对于生产部署,Cilium 应该复用 Kubernetes 所使用的键值存储集群(如 etcd),其通常在Kubernetes 的 master 节点上运行。 Cilium Kubernetes安装指南 包括了一个示例 DaemonSet,可以自定义指定此键值存储集群。 简单的 minikube 的“一体化” DaemonSet 不需要这样的配置,因为它会自动连接到 minikube 的 etcd 实例。
{{% /capture %}}
{{% capture whatsnext %}}
群集运行后,您可以按照声明网络策略 用 Cilium 试用 Kubernetes NetworkPolicy。 玩得开心,如果您有任何疑问,请联系我们 Cilium Slack Channel。
{{% /capture %}}