本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

通过代理

在许多企业环境中,运行在本地的服务器或虚拟机没有直接的互联网访问。相反,出于安全原因,连接外部服务是通过 HTTP(S) 代理进行的。本教程将向您展示如何在这样的环境中设置 SUSE® Rancher Prime: OS Manager 部署。

本指南不涵盖在代理后安装 Rancher。这是一个不同的用例,您可以在 在 HTTP 代理后安装 SUSE Rancher Prime 页面找到详细文档。

在本文档中,我们假设您使用的是 SUSE 家族系统(如 SLE Micro),因此代理设置必须写入 /etc/sysconfig/proxy

代理设置必须在以下位置配置:

  • 机器注册端点

  • SeedImage 资源

  • SUSE® Rancher Prime: OS Manager 集群配置

elemental-system-agent 需要代理设置以访问 Rancher 管理器。 为此,您需要填写机器注册端点的 cloud-init 部分。

您可以通过 UICLI 来完成。

  • CLI

  • UI

apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
  name: my-nodes
  namespace: fleet-default
spec:
  config:
    cloud-config:
      write_files:
      - path: /etc/sysconfig/proxy
        append: true
        content: |
          PROXY_ENABLED="yes"
          HTTP_PROXY=http://<MY_PROXY>:<MY_PORT>
          HTTPS_PROXY=https://<MY_PROXY>:<MY_PORT>
          NO_PROXY="localhost, 127.0.0.1"
      users:
        - name: root
          passwd: root
    elemental:
      install:
        reboot: true
        device: /dev/sda
        debug: true
      registration:
        emulate-tpm: true

在机器注册中添加代理设置

SUSE® Rancher Prime: OS Manager-注册

SUSE® Rancher Prime: OS Manager-注册 是新主机与 Rancher 管理器之间的第一个通信端点,这是需要设置代理设置的第一个地方。

在撰写本文时,仅可以通过 CLI 为 ISO 配置代理设置。UI中未实现代理设置。

该过程发生在您第一次启动 SUSE® Rancher Prime: OS Manager ISO 时,为了配置代理设置,您必须在 ISO 中包含 cloud-init 定义。 要做到这一点,您必须创建一个 SeedImage 定义。

apiVersion: elemental.cattle.io/v1beta1
kind: SeedImage
metadata:
  name: ...
  namespace: ...
spec:
  baseImage: registry.suse.com/suse/sle-micro-iso/5.5:2.0.2
  cloud-config:
    write_files:
    - path: /etc/sysconfig/proxy
      append: true
      content: |
        PROXY_ENABLED="yes"
        HTTP_PROXY=http://<MY_PROXY>:<MY_PORT>
        HTTPS_PROXY=https://<MY_PROXY>:<MY_PORT>
        NO_PROXY="localhost, 127.0.0.1"
  registrationRef:
    apiVersion: elemental.cattle.io/v1beta1
    kind: MachineRegistration
    name: ...
    namespace: ...

应用带有 kubectl 的 YAML,然后打印您的 SeedImage 定义以获取下载 URL:

kubectl apply -f <my_seedimage_yaml_file>
kubectl get seedimage <seed_image_name> -n <namespace> -o yaml

启动 ISO,您应该会看到您的新系统出现在 Machine inventory 中。

创建 SUSE® Rancher Prime: OS Manager 集群

在此步骤中,您可以使用 UI 或 CLI。

  • CLI

  • UI

kind: Cluster
apiVersion: provisioning.cattle.io/v1
metadata:
  name: my-cluster
  namespace: fleet-default
spec:
  agentEnvVars:
  - name: HTTP_PROXY
    value: http://<MY_PROXY>:<MY_PORT>
  - name: HTTPS_PROXY
    value: https://<MY_PROXY>:<MY_PORT>
  - name: NO_PROXY
    value: localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
  rkeConfig:
    machineGlobalConfig:
      etcd-expose-metrics: false
      profile: null
    machinePools:
      - controlPlaneRole: true
        etcdRole: true
        machineConfigRef:
          apiVersion: elemental.cattle.io/v1beta1
          kind: MachineInventorySelectorTemplate
          name: my-machine-selector
        name: pool1
        quantity: 1
        unhealthyNodeTimeout: 0s
        workerRole: true
    machineSelectorConfig:
      - config:
          protect-kernel-defaults: false
    registries: {}
  kubernetesVersion: v1.24.8+k3s1

为 SUSE® Rancher Prime: OS Manager 集群添加代理设置