5.3.3.3. kuryr-cni
Kuryr-cni 容器在 Kuryr-Kubernetes 部署中提供两个角色。它负责在 OpenShift Container Platform 节点上安装和配置 Kuryr CNI 脚本,并运行在主机上联网 Pod
的 kuryr-daemon 服务。这意味着 kuryr-cni 容器需要在每个 OpenShift Container Platform 节点上运行,因此它被建模为 DaemonSet
。
每当从 OpenShift Container Platform 主机生成或删除新 pod 时,OpenShift Container Platform CNI 都会调用 Kuryr CNI 脚本。该脚本从 Docker API 获取本地 kuryr-cni 的容器 ID,并通过 docker exec 传递所有 CNI 调用参数来执行 Kuryr CNI 插件二进制代码。然后,该插件通过本地 HTTP 套接字调用 kuryr-daemon,再次传递所有参数。
Kuryr-daemon 服务负责监控为它们创建的 Neutron VIFs 的 Pod
的注解。当收到给定 Pod
的 CNI 请求时,守护进程在内存中有 VIF 信息,或等待注解出现在 Pod
定义中。已知所有联网操作中的 VIF 信息发生后。