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

在隔离模式下安装 SUSE Observability Agent

本文件提供了在隔离环境中使用 Helm 图表安装 SUSE Observability Agent 的逐步指南。安装过程包括在具有互联网访问的主机上准备必要的Docker镜像和Helm图表,将它们转移到私有网络内的主机,上传Docker镜像到私有注册表,并部署Helm图表。安装代理所需的权限可以在这里找到 这里

先决条件

在本地主机(互联网访问)

  • 操作系统:Linux or MacOS

  • 已安装工具

    • Docker

    • Helm CLI

    • 用于从源注册表下载Docker镜像的脚本(链接将在指南后面提供)。

  • 互联网访问:需要从Quay.io拉取Docker镜像和从ChartMuseum拉取Helm图表。

在私有网络主机上

  • 访问:对主机的SSH访问。

  • 已安装工具

    • Docker

    • Helm CLI

    • 用于从源注册表下载Docker镜像的脚本(链接将在指南后面提供)。

    • 网络访问和凭据以将镜像上传到私有Docker注册表。

    • 配置好的Kubeconfig以在目标集群上安装Helm图表。

准备Docker镜像和Helm图表

在本地主机上运行以下命令以获取所需的Docker镜像和Helm图表:

将 Helm 仓库添加到本地 Helm 缓存:

# Adding the Helm repository for the SUSE Observability Agent
helm repo add suse-observability https://charts.rancher.com/server-charts/prime/suse-observability
helm repo update

获取图表的最新版本

以下命令将从 Helm 仓库下载图表的 TGZ 压缩包:

# Downloading the chart for the SUSE Observability Agent
# The file will be named stackstate-agent-X.Y.Z.tgz
helm fetch suse-observability/suse-observability-agent

获取 Bash 脚本以保存 Docker 镜像。

# o11y-agent-get-images.sh
curl -LO https://raw.githubusercontent.com/StackVista/helm-charts/master/stable/suse-observability-agent/installation/o11y-agent-get-images.sh
# o11y-agent-save-images.sh
curl -LO https://raw.githubusercontent.com/StackVista/helm-charts/master/stable/suse-observability-agent/installation/o11y-agent-save-images.sh

# Make the scripts executable
chmod a+x o11y-agent-get-images.sh o11y-agent-save-images.sh

提取并保存 Docker 镜像

# Extract the list of images from the Helm chart and save it to a file.
./o11y-agent-get-images.sh -f suse-observability-agent-X.Y.Z.tgz > o11y-agent-images.txt

suse-observability-agent-X.Y.Z.tgz 替换为之前下载的图表压缩包的实际文件名。*

# Save Docker images to an archive.
# The script expects the file o11y-agent-images.txt to contain the list of images used by the SUSE Observability Agent.
# The Docker images will be saved to o11y-agent-images.tar.gz.
./o11y-agent-save-images.sh -i o11y-agent-images.txt -f o11y-agent-images.tar.gz

将所需文件复制到远程主机

以下文件必须从本地主机复制到私有网络中的主机:

  • o11y-agent-images.txt(SUSE Observability Agent 图表所需的镜像列表)

  • o11y-agent-images.tar.gz(包含 SUSE Observability Agent 的 Docker 镜像的压缩包)

  • o11y-agent-load-images.sh(将 Docker 镜像上传到注册表的 Bash 脚本)

  • 之前下载的 Helm 图表:

    • suse-observability-agent-X.Y.Z.tgz

从压缩包恢复 Docker 镜像到私有注册表

将镜像上传到私有注册表:

# Load Docker images from the archive and push them to the private registry.
# Replace <private-registry> with your private registry's URL.
export DST_REGISTRY_USERNAME="..."
export DST_REGISTRY_PASSWORD="..."
./o11y-agent-load-images.sh -d registry.example.com:5043 -i o11y-agent-images.txt -f o11y-agent-images.tar.gz

注意:如果目标注册表不使用身份验证,则环境变量 DST_REGISTRY_USERNAMEDST_REGISTRY_PASSWORD 不得配置或必须设置为空值。

安装 SUSE Observability Agent

安装 SUSE Observability Agent 的命令必须从 SUSE Observability UI 获取。 登录到您的实例,在左侧菜单中选择 Stackpacks。按 ADD NEW INSTANCE 并填写集群的名称。为了与 Rancher 正确集成,名称必须与 Rancher UI 中的集群名称相同。

添加新代理

当实例被添加时,用户界面将提供如何部署 Helm 图表的说明。向下滚动到 Self-hosted 部分并复制 helm upgrade …​ 命令

获取 Helm 安装命令

该命令必须为隔离安装进行更新:

  • 使用 all.image.registry 值覆盖镜像注册表。

  • 使用包含 Helm 图表的归档,而不是 Helm 仓库。 suse-observability/suse-observability-agent -> ./suse-observability-agent-X.Y.Z.tgz

运行命令以安装 SUSE Observability Agent

helm upgrade --install \
--namespace suse-observability \
--create-namespace \
--set-string 'stackstate.apiKey'='<api-key>' \
--set-string 'stackstate.cluster.name'='<cluster-name>' \
--set-string 'stackstate.url'='https://...' \
--set 'nodeAgent.skipKubeletTLSVerify'=true \
--set-string 'all.image.registry'='registry.acme.com:5000' \
--set-string 'global.imageRegistry'='registry.acme.com:5000' \
--set-string 'global.skipSslValidation'=true \
suse-observability-agent ./suse-observability-agent-X.Y.Z.tgz

验证部署

kubectl get pod -n suse-observability