Anthos clusters on Bare Metal 需满足下列安装前提条件:
- 运行
bmctl
工具的工作站机器的前提条件。 - Anthos clusters on Bare Metal 部署中的节点机器的前提条件。
- 负载平衡器机器的前提条件。
- Google Cloud 项目的前提条件。
- 您的服务帐号的前提条件。
如果您将工作站机器用作集群节点机器,则该机器必须同时满足两者的前提条件。
准备工作
在安装过程中,您必须提供以下凭据:
- 访问集群节点机器所需的 SSH 私钥。
- 集群节点机器的登录名(如果不使用
root
)。 - Google Cloud 服务帐号密钥。如需了解详情,请参阅创建和管理服务帐号密钥。
请确保您已拥有所有必要凭据,然后再尝试安装 Anthos clusters on Bare Metal。
登录 gcloud
- 使用
gcloud auth application-default
login 以用户身份登录 gcloud: - Service Account Admin
- Service Account Key Admin
- Project IAM Admin
- Compute Viewer
- Service Usage Admin
- 获取要用于创建集群的 Google Cloud 项目 ID:
gcloud auth application-default login您需要具有 Project Owner/Editor 角色才能使用自动 API 启用和服务帐号创建功能,具体如下所述。您还可以向用户添加以下 IAM 角色:
export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILEJSON_KEY_FILE 指定服务帐号 JSON 密钥文件的路径。
export CLOUD_PROJECT_ID=$(gcloud config get-value project)
工作站前提条件
bmctl
工作站必须满足以下前提条件:
- 操作系统与集群节点机器上运行的受支持的 Linux 发行版相同。
- 安装了 Docker 19.03 或更高版本。
- 非根用户是
docker
组的成员(有关说明,请参阅以非根用户身份管理 Docker)。 - 已安装 gcloud。
- 50 GB 可用磁盘空间。
- 与所有集群节点机器之间为 L3 连接。
- 可通过 SSH 使用具有无密码根访问权限的私钥访问所有集群节点机器。可以是直接访问权限或通过 sudo 的访问权限。
- 访问控制层面 VIP。
节点机器前提条件
节点机器具有以下前提条件:
- 其操作系统是受支持的 Linux 发行版之一。
- 满足最低硬件要求。
- 互联网访问权限。
- 与所有其他节点机器之间为 L3 连接。
- 访问控制层面 VIP。
- 正确配置的 DNS 域名服务器。
- 无重复的主机名。
- 启用了以下 NTP 服务之一,并且能正常运行:
- chrony
- ntp
- ntpdate
- systemd-timesyncd
- 正常运行的软件包管理器:apt、dnf 等。
SELinux
非活跃。在/etc/selinux/config
文件中配置SELINUX=disabled
或SELINUX=permissive
,然后重新启动机器。- 在 CentOS/RHEL 上,
firewalld
处于非活跃状态。运行systemctl disable firewalld
可将其停用。 - 在 Ubuntu 上,
AppArmor
和 Uncomplicated Firewall (UFW) 处于非活跃状态。运行systemctl stop apparmor ufw
可以停用它们。 - 如果您的节点机器上未安装 Docker 或安装了旧版 Docker,在您创建集群时,Anthos on Bare Metal 会安装 Docker 19.03.13 或更高版本。
- 每当安装或重新安装 Anthos clusters on Bare Metal 时,请确保支持以下目录的文件系统具有所需的容量并且利用率低于 90%:请注意,安装过程会在必要时创建以下目录:
/var/lib/docker
:30 GiB/var/lib/kubelet
:10 GiB/mnt/anthos-system
:25 GiB/
:20 GiB/var/lib/etcd
:20 GiB(仅适用于控制层面节点)
/var/lib/etcd
和/etc/kubernetes
目录不存在或为空。
除了安装和运行 Anthos clusters on Bare Metal 的前提条件之外,客户还应遵守对行业或业务细分进行治理的相关标准,例如处理信用卡的企业的 PCI DSS 要求或国防工业中企业的安全技术实现指南 (STIG)。
负载均衡器机器前提条件
如果您的部署没有专用的负载均衡器节点池,则可以使用工作器节点或控制层面节点构建负载均衡器节点池。在这种情况下,还需满足其他前提条件:
- 机器在同一 L2 子网中。
- 所有 VIP 都在负载平衡器节点子网中,并且可从子网的网关路由。
- 负载均衡器的子网应侦听免费 ARP,以将数据包转发到主负载均衡器。
Google Cloud 项目前提条件
安装 Anthos clusters on Bare Metal 之前,请为关联的 GCP 项目启用以下服务:
anthos.googleapis.com
anthosgke.googleapis.com
cloudresourcemanager.googleapis.com
container.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
serviceusage.googleapis.com
stackdriver.googleapis.com
monitoring.googleapis.com
logging.googleapis.com
您还可以使用 bmctl
工具来启用这些服务。
服务帐号前提条件
在生产环境中,您应该针对不同的目的创建单独的服务帐号。Anthos Clusters on Bare Metal 需要以下不同类型的 Google Cloud 服务帐号,具体取决于其目的:
- 访问 Container Registry (
gcr.io
) 不需要特殊角色。 - 如需在舰队中注册集群,请将
roles/gkehub.admin
IAM 角色授予 Google Cloud 项目中的服务帐号。 - 如需连接到舰队,请将
roles/gkehub.connect
IAM 角色授予 Google Cloud 项目中的服务帐号。 如需向 Google Cloud 的运维套件发送日志和指标,请将以下 IAM 角色授予 Google Cloud 项目中的服务帐号:
roles/logging.logWriter
roles/monitoring.metricWriter
roles/stackdriver.resourceMetadata.writer
roles/monitoring.dashboardEditor
您还可以使用 bmctl
工具来创建这些服务帐号。