Anthos 不公开模式是一个 Anthos 版本,它可以在气隙隔离的环境中以与互联网完全隔离的方式运行。您可以使用 Anthos 不公开模式在本地运行严格监管的工作负载,同时仍可从云原生基础架构的诸多优势中获益。
简介
本文档将引导您以负责裸机机器、硬件、网络、存储和操作系统等基础架构层的 Infrastructure Operator 身份完成 Anthos 不公开模式安装过程。此过程需要事先具备 Kubernetes 和系统的管理经验。
Anthos 不公开模式的架构与 Anthos on Bare Metal 的连接版本的架构类似:有一个管理员集群用于创建和管理用户集群。您的工作负载在用户集群上运行。还有一个管理员工作站,该机器包含安装和管理 Anthos 不公开模式部署所需的工具。
与 Anthos on Bare Metal 的连接版本相比,Anthos 不公开模式包含 3 个额外的组件:
- 在管理员工作站上运行的可选容器注册表,用于存储所有 Anthos 容器映像(在您没有 Container Registry 访问权限的情况下是必需的)。
- 在管理员集群上运行的 Anthos 不公开模式基于 Web 的管理中心。它允许您管理构成 Anthos 部署的所有资源,包括机器、AddressPool 和用户集群。它还可以管理 Anthos 功能,并授予对监控和工作负载可见性的权限。
actl
命令行工具,帮助安装 Anthos 不公开模式并执行其他管理任务。
图:Anthos 不公开模式架构图。
阅读本文档后,请参阅安装 Anthos Management Center,全面了解如何安装 Anthos 不公开模式环境。
准备环境
前提条件
在按照本文档中的说明操作之前,请确保您满足 Anthos 不公开模式的技术要求。
获取对 Anthos 不公开模式的访问权限
我们需要您授予您对 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=0.9.0-gke.1
gsutil cp gs://anthos-private-mode-release/$VERSION/get-anthos-private-mode.sh .
chmod +x get-anthos-private-mode.sh
./get-anthos-private-mode.sh
# 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]
安装其余依赖项
Anthos 不公开模式下载完成后,请运行以下命令:
cd anthos-baremetal-private-mode
# Add actl command line tool and bin 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
├── baremetal
│ ├── images
│ └── package-spec.yaml
├── bin
│ ├── actl
│ ├── istioctl
│ └── nomos
├── bmctl-workspace
│ └── admin
│ └── admin.yaml
├── 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 不公开模式管理中心所需的所有内容。
[可选] 启用 atlc 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_IP=[YOUR_REGISTRY_IP] export REGISTRY_PASSWORD=[YOUR_REGISTRY_PASSWORD] # By default, a "library" public project is created, # and you can also create other private projects via the Harbor portal. export PRIVATE_REGISTRY=${REGISTRY_IP}/library
其中:
[YOUR_REGISTRY_IP]
是注册表 IP 地址。如果要在管理员工作站上安装和使用 Anthos 不公开模式容器注册表,请在此处使用管理员工作站 IP 地址。[YOUR_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
注意:
- Anthos 不公开模式容器注册表仅用于安装 Anthos 不公开模式。该功能不适合用于生产用途。
- 默认公共注册表项目为
library
,在默认情况下可以使用,但您可以根据需要登录注册表并创建新项目。 - 容器注册表位于
https://${REGISTRY_IP}/
。登录凭据是用户名admin
和${REGISTRY_PASSWORD}
。 - 凭据以未加密的形式存储在
/home/<USER>/.docker/config.json
中。
下一步,登录注册表以验证您是否具有访问权限。如果收到错误,您可能需要等待几秒钟。
docker login ${REGISTRY_IP} -u admin -p ${REGISTRY_PASSWORD}
将映像上传到容器注册表
在本部分中,您将把 Anthos 不公开模式容器映像上传到容器注册表。
准备 Anthos 不公开模式容器映像,并将其上传到容器注册表。如果出现提示,请选择
Use that credential
选项。actl images push --private-registry=${PRIVATE_REGISTRY} \ --images ~/anthos-baremetal-private-mode