9.2. 使用 Skupper podman 创建站点
服务网络由 Skupper 站点组成。这部分论述了如何使用默认设置在 Linux 主机上创建站点。有关使用 Skupper CLI 创建 Podman 站点的详情,请参阅使用 Skupper CLI。
先决条件
-
已安装最新的
skupper
CLI。 - 已安装 podman,请参阅 https://podman.io/
Netavark
配置为 podman 网络后端。默认情况下,Podman v4 使用 Netavark 可以与 Skupper 一起工作。
如果使用 CNI,例如,如果您从 Podman v3 升级,还必须安装
podman-plugins
软件包。例如,dnf install podman-plugins
用于基于 RPM 的发行版本。注意CNI 将在以后的 Netavark 首选项中被弃用。
检查
netavark
是否已配置为 podman network backend:$ podman info | grep networkBackend
要在基于 rpm 的 Linux 上安装
netavark
,如 RHEL8:$ sudo dnf install netavark
通过确保
/etc/containers/containers.conf
文件中存在以下行,将 podman 配置为使用netavark
:[network] network_backend = "netavark"
Podman 服务端点。
使用
systemctl --user status podman.socket
来确保 Podman API 套接字正在运行。如果套接字没有运行,请使用
systemctl --user enable --now podman.socket
启动它。有关启用此端点的详情,请参阅 Podman 套接字激活。
流程
将会话设置为使用 Skupper Podman:
$ export SKUPPER_PLATFORM=podman
验证
skupper
模式:$ skupper switch podman
创建 Skupper 站点:
使用以下命令来创建令牌以在任何网络接口上链接的站点:
$ skupper init
注意默认情况下,对于 podman 站点,这个命令会在 2 分钟后超时。您可以使用--
timeout
选项增加时间。此时会显示以下输出:
It is recommended to enable lingering for <username>, otherwise Skupper may not start on boot. Skupper is now installed for user '<username>'. Use 'skupper status' to get more information.
使用以下命令在系统启动时启动站点服务,并在退出退出时保留:
# loginctl enable-linger <username>
默认情况下,
skupper init
会尝试将与本地网络接口关联的所有 IP 地址作为有效的入口主机。您可以使用--ingress-host <IP/Hostname
> 将令牌入口限制为特定的网络上下文:$ skupper init --ingress-host my-cloud-vm.example.com
如果您不要求其他站点可以链接到您要创建的站点:
$ skupper init --ingress none
在本指南中,我们假设您已使用第一个命令启用了 ingress。这样,您可以创建允许来自主机上每个网络接口的链接的令牌。
注意在创建令牌时,您可以指定入口主机。
您还可以在初始化时将 ingress 限制到 IP 地址或主机名,如 Skupper Podman CLI 参考文档 所述。
检查站点的状态:
$ skupper status Skupper is enabled for "<username>" with site name "<machine-name>-<username>" in interior mode. It is not connected to any other sites. It has no exposed services.
注意您只能为每个用户创建一个站点。如果您需要主机支持多个站点,请为每个站点创建一个用户。