安装 Anthos 专用模式基础架构

本页面适用于基础架构运维者

Anthos 不公开模式是一个 Anthos 版本,它可以在气隙隔离的环境中以与互联网完全隔离的方式运行。您可以使用 Anthos 不公开模式在本地运行严格监管的工作负载,同时仍可从云原生基础架构的诸多优势中获益。

简介

Anthos 不公开模式的架构与 Anthos on Bare Metal 的连接版本的架构类似:有一个管理员集群用于创建和管理用户集群。您的工作负载在用户集群上运行。还有一个管理员工作站,该机器包含安装和管理 Anthos 不公开模式部署所需的工具。

与 Anthos on Bare Metal 的连接版本相比,Anthos 不公开模式包含 3 个额外的组件:

  • 在管理员工作站上运行的可选容器注册表,用于存储所有 Anthos 容器映像(在您没有 Container Registry 访问权限的情况下是必需的)。
  • actl 命令行工具,帮助安装 Anthos 不公开模式并执行其他管理任务。
  • Anthos Management Center,可帮助您管理授权和身份验证、可观测性以及多集群 Anthos 功能管理。Management Center 包含一个在管理员集群上运行的基于网页的控制台。使用 Management Center Console 的用户界面,您可以管理 Anthos 部署包含的所有资源,包括机器、地址池和用户集群。您还可以使用 Management Center Console 来管理 Anthos 功能并监控工作负载。

描述 Anthos 不公开模式架构的图

图:Anthos 不公开模式架构图。

准备环境

获取产品版本的访问权限,下载最新版本,并安装所有依赖项。

准备工作

在按照本页面中的说明操作之前,请确保您满足 Anthos 不公开模式的技术要求

获取 Anthos 不公开模式的访问权限

Google 必须授予您对 Anthos 不公开模式版本的访问权限。请向 Google 联系人提供每个测试人员的电子邮件地址,以便我们为他们授予下载代码库的权限。这些电子邮件地址必须是 Google 帐号。

当您的 Google 联系人确认您对 Anthos 不公开模式版本具有访问权限后,请运行以下命令来确认您是否拥有下载 Anthos 不公开模式版本的权限:

gsutil ls gs://anthos-private-mode-release/

如果您收到错误,请运行 gcloud auth list 命令,验证 gsutil 使用的帐号是否为您提供给 Google 联系人的同一 Google 帐号。

或者,您也可以通过访问最新版本存储桶,来验证您是否拥有适当的权限。您必须使用您之前提供的 Google 帐号登录。

如果您在访问 Anthos 不公开模式版本时遇到问题,请与您的 Google 联系人联系以获取帮助。

下载 Anthos 不公开模式

在本部分中,您将下载 Anthos 不公开模式版本,它包含在多个文件中,每个文件的大小都在 GB 级别。下载可能需要较长时间,具体取决于您的互联网连接。

下载 Anthos 不公开模式

在管理员工作站上运行以下命令:

# Login with the account granted access to Anthos private mode
gcloud auth login

# Download the script which helps download all the latest components
export VERSION=1.9.3-gke.0

# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.9/installing/infrastructure#download
export INSTALLER_DIGEST=ad410b7450e8ecaaa94821592dd0f49a1ade75e460e9ab18205c3b1364c6e910
export INSTALLER=get-anthos-private-mode-$VERSION.sh
gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER .
if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER

# If you are working on a workstation shared with other users,
# we recommend that you revoke your credentials after downloading the release.
gcloud auth revoke YOUR_EMAIL_ADDRESS

安装其余依赖项

Anthos 不公开模式下载完成后,请运行以下命令:

cd anthos-baremetal-private-mode

# Add actl command line tool and tools directory to the PATH
export PATH=$PWD/bin:$PATH

# Download Harbor offline installer
curl -SL \
  https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz \
  --output "local-registry/harbor-offline-installer.tgz"

# Install docker-compose
curl -SL \
  https://github.com/docker/compose/releases/download/1.28.5/docker-compose-Linux-x86_64 \
  --output "local-registry/docker-compose"

这些只是需要连接互联网的流程中的两个步骤。如果要在与互联网完全隔离的环境中安装 Anthos 不公开模式,您可以执行以下操作:

  • 首先将管理员工作站连接到互联网,并下载版本(如上所示)。然后,断开工作站与互联网的连接,并将工作站连接到气隙隔离的环境。
  • 从已连接到互联网的开发者工作站下载该版本,将其复制到便携式存储设备中,然后将此便携式存储设备移动到气隙隔离的管理员工作站。

您可以浏览 Anthos 不公开模式版本的内容:

./anthos-baremetal-private-mode
├── actl-workspace
│   └── admin
│       └── admin.yaml
├── baremetal
│   ├── images
│   └── package-spec.yaml
├── bin
│   ├── actl
│   ├── istioctl
│   └── nomos
├── local-registry
│   ├── cleanup.sh
│   ├── docker-compose
│   ├── generate-certs.sh
│   ├── harbor-offline-installer.tgz
│   └── install.sh
├── managementcenter
│   ├── images
│   └── management-center.yaml
├── services
│   ├── anthos-config-management
│   ├── anthos-service-mesh
│   └── images
├── third_party
└── updatecenter
    └── images
  • local-registry 目录包含用于设置本地容器注册表的资源。
  • 其他目录(如 managementcenterservicesbaremetal)包含安装管理员集群和 Anthos Management Center 所需的一切资源。

可选:启用 actl shell 自动补全功能

actl 命令行工具支持 Bash、Zsh 和 Fish 的 shell 自动补全功能。您可以按照 actl help completion 中的说明操作,在 shell 中设置自动补全,例如在 Ubuntu/Debian、Bash 中:

# One time setup: install bash-completion
sudo apt update && sudo apt install bash-completion

# In ~/.bashrc
source /etc/profile.d/bash_completion.sh
source <(actl completion bash)

设置容器注册表

Anthos 不公开模式的工作原理是将 Anthos 容器映像存储在本地容器注册表中。您可以使用自己的现有容器注册表,也可以使用 Anthos 不公开模式捆绑的容器注册表。

导出以下环境变量:

export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD

# By default, a public project called 'library' is created,
# and you can also create other public or private projects with the container registry portal.
export PRIVATE_REGISTRY=${REGISTRY_HOST}/library

请替换以下内容:

  • REGISTRY_HOST 是注册表 IP 地址。如果要在管理员工作站上安装和使用 Anthos 不公开模式容器注册表,请在此处使用管理员工作站 IP 地址。

  • REGISTRY_PASSWORD 是您为注册表密码设置的值。

如果您决定使用自己的容器注册表,请跳至将映像上传到容器注册表部分。

设置 Anthos 不公开模式容器注册表

在本部分中,您将在管理员工作站上设置私有容器注册表。在管理员工作站上运行以下所有命令。

  1. 如果您没有自己的私有容器注册表,请安装 Anthos 不公开模式容器注册表。

    cd ~/anthos-baremetal-private-mode
    
    # Move it to a path under $PATH
    chmod a+x local-registry/docker-compose
    sudo cp local-registry/docker-compose /usr/bin
    
    # Install local registry
    ./local-registry/install.sh
    
  2. 登录注册表以验证您是否具有访问权限。如果收到错误,您可能需要等待几秒钟。

    docker login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    

注意:

  • Anthos 不公开模式容器注册表仅用于安装 Anthos 不公开模式。该功能不适合用于生产用途。
  • 默认公共注册表项目为 library,在默认情况下可以使用,但您可以根据需要登录注册表并创建新项目。
  • 服务启动后,您可以通过 https://REGISTRY_HOST/ 来访问容器注册表。 登录凭据是用户名 admin 和密码 REGISTRY_PASSWORD
  • 凭据以未加密的形式存储在 /home/<USER>/.docker/config.json 中。

将映像上传到容器注册表

在本部分中,您将把 Anthos 不公开模式容器映像上传到容器注册表。

准备 Anthos 不公开模式容器映像,并将其上传到容器注册表。如果出现提示,请选择 Use that credential 选项,或输入新凭据。

actl images push --private-registry=${PRIVATE_REGISTRY} \
    --images ~/anthos-baremetal-private-mode

注意:如果您在工作站上使用 HTTP 代理,则可能需要取消设置以下环境变量才能使 actl images push 命令正常运行:

unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY

可选:将 Helm 图表上传到 Container Registry

在本部分中,您将可选的 Anthos 私有模式 Helm 图表上传到 Container Registry。Anthos 私有模式 1.9 版包含两个 Google Cloud Marketplace 解决方案的捆绑 Helm 图表:PostgreSQL 和 Redis。这些热门开源软件堆栈由 Google 打包,旨在在断开连接的环境中运行。

  1. 准备 Anthos 私有模式 Helm 图表并将其上传到您的 Container Registry。如果出现提示,请选择 Use that credential 选项,或输入新凭据:

    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-postgresql/package-spec.yaml
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-redis-ha/package-spec.yaml
    
  2. 如要从 Container Registry 中拉取 Anthos 私有模式 Helm 图表,请启用 Helm 实验性 OCI 支持:

    export HELM_EXPERIMENTAL_OCI=1
    
  3. 如果您的私有注册表使用自签名证书,则还必须更新系统上的证书授权机构 (CA) 证书。如需了解详情,请参阅此 Helm 问题

    sudo cp local-registry/ca.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
  4. 登录注册表以验证您是否具有访问权限:

    helm registry login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    
  5. 从 Container Registry 中拉取和导出 Anthos 专用模式 Helm 图表:

    helm chart pull ${PRIVATE_REGISTRY}/<CHART>:<TAG>
    helm chart export ${PRIVATE_REGISTRY}/<CHART>:<TAG> .
    

后续步骤