本页面适用于基础架构运维者。
在断开连接模式下运行的 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 的访问权限
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 running in disconnected mode
gcloud auth login
# Download the script which helps download all the latest components
export VERSION=1.12.0-gke.0
# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.11/installing/infrastructure#download
export INSTALLER_DIGEST=53275103489dd7569a321da5f70d78cad00a9e3b6a550202200ede37d51d4d3e
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
目录包含用于设置本地容器注册表的资源。- 其他目录(如
managementcenter
、services
和baremetal
)包含安装管理员集群和 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 的容器注册表
在本部分中,您将在管理员工作站上设置私有容器注册表。在管理员工作站上运行以下所有命令。
如果您没有自己的私有容器注册表,请安装在断开连接模式下运行的 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
登录注册表以验证您是否具有访问权限。如果收到错误,您可能需要等待几秒钟。
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 图表上传到您的容器注册表。在断开连接模式下运行的 Anthos 1.10 版包含三个 Google Cloud Marketplace 解决方案(PostgreSQL、Redis 和 Kafka)的捆绑 Helm 图表。这些热门开源软件堆栈由 Google 打包,旨在在断开连接的环境中运行。
准备在断开连接模式下运行的 Anthos Helm 图表并将其上传到您的容器注册表。如果出现提示,请选择
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 actl packages push --private-registry=${PRIVATE_REGISTRY} \ ~/anthos-baremetal-private-mode/services/third_party-kafka/package-spec.yaml
要从容器注册表中拉取在断开连接模式下运行的 Anthos Helm 图表,请启用 Helm 实验性 OCI 支持:
export HELM_EXPERIMENTAL_OCI=1
如果您的私有注册表使用自签名证书,则还必须更新系统上的证书授权机构 (CA) 证书。如需了解详情,请参阅此 Helm 问题。
sudo cp local-registry/ca.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
登录注册表以验证您是否具有访问权限:
helm registry login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
从容器注册表中拉取和导出在断开连接模式下运行的 Anthos Helm 图表:
helm chart pull ${PRIVATE_REGISTRY}/<CHART>:<TAG> helm chart export ${PRIVATE_REGISTRY}/<CHART>:<TAG> .