本页面介绍如何使用运行在 Compute Engine 上的虚拟机 (VM) 试用高可用性 (HA) 模式的 Anthos clusters on Bare Metal。
您无需准备任何硬件,即可快速试用 Anthos clusters on Bare Metal。完成本页面中的步骤后,您将获得 Anthos clusters on Bare Metal 环境的运行在 Compute Engine 上的有效测试环境。
如需在 Compute Engine 虚拟机上试用 Anthos clusters on Bare Metal,请完成以下步骤:
- 在 Compute Engine 中创建 6 个虚拟机
- 在所有虚拟机之间创建具有 L2 连接的
vxlan
网络 - 安装 Anthos clusters on Bare Metal 的前提条件
- 部署 Anthos clusters on Bare Metal 集群
- 验证集群
准备工作
部署需要以下资源:
- 用于部署 Anthos clusters on Bare Metal 的 6 个虚拟机
- 一个登录到
gcloud
的工作站,拥有您项目的所有者权限。
本指南中的步骤来自 anthos-samples 代码库中的安装脚本。常见问题解答部分详细介绍了如何自定义此脚本以使用一些热门变异。
在 Compute Engine 中创建 6 个虚拟机
完成以下步骤以创建以下虚拟机:
- 一个管理员虚拟机,用于将 Anthos clusters on Bare Metal 部署到其他机器。
- 三个用作控制层面节点的虚拟机,用于运行 Anthos clusters on Bare Metal 控制层面。
- 两个用作工作器节点的虚拟机,用于运行 Anthos clusters on Bare Metal 集群的工作负载。
设置环境变量:
export PROJECT_ID=PROJECT_ID export ZONE=ZONE export CLUSTER_NAME=CLUSTER_NAME export BMCTL_VERSION=1.12.9
运行以下命令以使用您的 Google 帐号登录,并将您的项目设置为默认项目:
gcloud auth login gcloud config set project $PROJECT_ID gcloud config set compute/zone $ZONE
创建
baremetal-gcr
服务帐号:启用 Google Cloud API 和服务:
向
baremetal-gcr
服务帐号授予额外的权限,以避免为不同的 API 和服务使用多个服务帐号:创建本页面上所有命令需要的变量和数组:
使用以下循环创建 6 个虚拟机:
使用以下循环验证 SSH 是否在所有虚拟机上准备就绪:
在虚拟机之间创建具有 L2 连接的 vxlan
网络
使用 Linux 的标准 vxlan
功能创建通过 L2 连接连接所有虚拟机的网络。
以下命令包含两个循环,它们执行以下操作:
现在,10.200.0.0/24 网络内具有 L2 连接。虚拟机具有以下 IP 地址:
- 管理员虚拟机:10.200.0.2
- 运行控制平面节点的虚拟机:
- 10.200.0.3
- 10.200.0.4
- 10.200.0.5
- 运行工作器节点的虚拟机:
- 10.200.0.6
- 10.200.0.7
安装 Anthos clusters on Bare Metal 的前提条件
在安装 Anthos clusters on Bare Metal 之前,管理员机器上需要以下工具:
bmctl
kubectl
- Docker
运行以下命令安装所需的工具:
运行以下命令确保
root@10.200.0.x
有效。这些命令执行以下任务:- 在管理员机器上生成新的 SSH 密钥。
- 将公钥添加到部署中的所有其他虚拟机上。
部署 Anthos clusters on Bare Metal 集群
以下代码块包含完成以下任务所需的所有命令和配置:
- 为所需的混合集群创建配置文件。
- 运行预检检查。
- 部署集群。
验证集群
您可以在管理员机器的 bmctl-workspace
目录下找到集群的 kubeconfig
文件。要验证部署,请完成以下步骤。
通过 SSH 连接到管理员工作站:
gcloud compute ssh root@$VM_WS --zone ${ZONE}
使用集群配置文件的路径设置
KUBECONFIG
环境变量,以便在集群上运行kubectl
命令。export clusterid=CLUSTER_NAME export KUBECONFIG=$HOME/bmctl-workspace/$clusterid/$clusterid-kubeconfig kubectl get nodes
从 Google Cloud 控制台登录集群
如需在 Google Cloud 控制台中观察 Anthos clusters on Bare Metal 上的工作负载,您必须登录存储集群的 kubeconfig
文件的管理员机器。
如需了解详情,请参阅从 Google Cloud 控制台登录集群。
清理
连接到管理机器,以便将集群虚拟机重置为安装之前的状态,并从 Google Cloud 项目中取消注册集群:
gcloud compute ssh root@$VM_WS --zone ${ZONE} << EOF set -x export clusterid=CLUSTER_NAME bmctl reset -c \$clusterid EOF
列出名称中包含
abm
的所有虚拟机:gcloud compute instances list | grep 'abm'
验证您是否可以安全删除名称中包含
abm
的所有虚拟机。验证后,您可以通过运行以下命令来删除
abm
虚拟机:gcloud compute instances list --format="value(name)" | grep 'abm' | xargs gcloud \ --quiet compute instances delete