13.2. 使用调优 CNI 启用 all-multicast 模式
您可以使用 tuning Container Network Interface (CNI) meta 插件启用 all-multicast 模式。
以下流程描述了如何配置调优 CNI 来启用 all-multicast 模式。
流程
使用以下内容创建网络附加定义,如
tuning-example.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 下面显示了一个 YAML 文件示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令应用 YAML 文件中指定的设置:
oc apply -f tuning-allmulti.yaml
$ oc apply -f tuning-allmulti.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
networkattachmentdefinition.k8s.cni.cncf.io/setallmulti created
networkattachmentdefinition.k8s.cni.cncf.io/setallmulti created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用类似以下
examplepod.yaml
文件中指定的网络附加定义创建 pod :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定配置的
NetworkAttachmentDefinition
的名称。 - 2
- 指定运行容器的用户 ID。
- 3
- 指定容器使用哪个主要组 ID。
- 4
- 指定 pod 是否可以请求特权升级。如果未指定,则默认为
true
。这个布尔值直接控制在容器进程中是否设置了no_new_privs
标志。 - 5
- 指定容器功能。
drop: ["ALL"]
语句表示所有 Linux 功能都会从 pod 中丢弃,提供更严格的安全配置集。 - 6
- 指定容器将使用任何 UID 为 0 的用户运行。
- 7
- 指定容器的 seccomp 配置集。在这种情况下,type 被设置为
RuntimeDefault
。seccomp 是一个 Linux 内核功能,它限制了进程可用的系统调用,通过最小化攻击面来提高安全性。
运行以下命令应用 YAML 文件中指定的设置:
oc apply -f examplepod.yaml
$ oc apply -f examplepod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证 pod 是否已创建:
oc get pod
$ oc get pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY STATUS RESTARTS AGE allmultipod 1/1 Running 0 23s
NAME READY STATUS RESTARTS AGE allmultipod 1/1 Running 0 23s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令登录到 pod:
oc rsh allmultipod
$ oc rsh allmultipod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,列出与 pod 关联的所有接口:
ip link
sh-4.4# ip link
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow