在 k3s 上安装容器化 SUSE Manager 代理

1. 安装 k3s

在单节点群集中的 SLE Micro 上运行的 k3s 支持 SUSE Manager 代理。如果您需要将此代理部署在任何其他 Kubernetes 环境中,请联系支持人员进行评估。

在容器主机计算机上,安装 k3s(请将 <K3S_HOST_FQDN> 替换为 k3s 主机的 FQDN):

curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--tls-san=<K3S_HOST_FQDN>" sh -

2. 安装工具

在安装时需要提供 mgrpxyhelm 软件包。

For Helm, you can install it using the installer script:

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

The mgrpxy package is available in the SUSE Manager Proxy product repositories. To install it run:

transactional-update pkg install mgrpxy
  1. 重引导

2.1. 使用 Web UI 生成代理配置

过程:使用 Web UI 生成代理容器配置
  1. 在 Web UI 中,导航到系统  代理配置,然后填写所需数据:

  2. 代理 FQDN字段中,键入代理的完全限定域名。

  3. 父 FQDN字段中,键入 SUSE Manager 服务器或另一个 SUSE Manager 代理的完全限定域名。

  4. 代理 SSH 端口字段中,键入 SSH 服务在 SUSE Manager 代理上监听的 SSH 端口。建议保留默认值 8022。

  5. 最大 Squid 缓存大小 [MB] 字段中键入允许的最大 Squid 缓存大小。建议的最大大小为容器可用存储的 60%。

    2 GB 表示默认的代理 squid 缓存大小。需要根据您的环境调整此大小。

SSH 证书选择列表中,选择应为 SUSE Manager 代理生成新服务器证书还是使用现有证书。您可以考虑作为 SUSE Manager 内置(自我签名)证书生成的证书。

+ 然后根据所做的选择提供用于生成新证书的签名 CA 证书的路径,或者要用作代理证书的现有证书及其密钥的路径。

+ 服务器生成的 CA 证书存储在 /var/lib/containers/storage/volumes/root/_data/ssl-build 目录中。

+ 有关现有或自定义证书的详细信息以及企业和中间证书的概念,请参见 导入 SSL 证书

  1. 单击 生成 以在 SUSE Manager 服务器中注册新代理 FQDN,并生成包含容器主机细节的配置存档 (config.tar.gz)。

  2. 片刻之后,系统会显示文件可供下载。请将此文件保存在本地。

suma proxy containerized webui

2.2. 使用 spacecmd 和自我签名证书生成代理配置

过程:使用 spacecmd 和自我签名证书生成代理配置

可以使用 spacecmd 生成代理配置。

  1. 通过 SSH 连接到您的容器主机。

  2. 执行以下命令(替换其中的服务器和代理 FQDN):

    mgrctl exec -ti 'spacecmd proxy_container_config_generate_cert -- dev-pxy.example.com dev-srv.example.com 2048 email@example.com -o /tmp/config.tar.gz'
  3. 从服务器容器复制生成的配置:

    mgrctl cp server:/tmp/config.tar.gz

2.3. 使用 spacecmd 和自定义证书生成代理配置

可以使用 spacecmd 为自定义证书(而不是默认的自我签名证书)生成代理配置。

过程:使用 spacecmd 和自定义证书生成代理配置
  1. 通过 SSH 连接到您的服务器容器主机。

  2. 执行以下命令(替换其中的服务器和代理 FQDN):

    for f in ca.crt proxy.crt proxy.key; do
      mgrctl cp $f server:/tmp/$f
    done
    mgrctl exec -ti 'spacecmd proxy_container_config -- -p 8022 pxy.example.com srv.example.com 2048 email@example.com /tmp/ca.crt /tmp/proxy.crt /tmp/proxy.key -o /tmp/config.tar.gz'
  3. 从服务器容器复制生成的配置:

    mgrctl cp server:/tmp/config.tar.gz

3. 部署 SUSE Manager 代理 helm 图表

要配置 SUSE Manager 代理 Pod 使用的卷存储,请定义以下声明的永久性卷。如果您未自定义存储配置,k3s 将自动为您创建存储卷。

永久性卷声明已命名为:

  • squid-cache-pv-claim

  • package-cache-pv-claim

  • tftp-boot-pv-claim

按照 部署 SUSE Manager 5.0 代理 中所述创建 SUSE Manager 代理的配置。复制 tar.gz 配置文件,然后安装:

mgrpxy install kubernetes /path/to/config.tar.gz