在 AWS 上安装 OpenShift
Red Hat OpenShift Service on AWS (ROSA) 提供了一个 OpenShift 实例来运行 Keycloak。
关于
本模块旨在自动化在 AWS 中通过 ROSA 工具配置 OpenShift 集群的任务,如 ROSA 安装指南 中所述。脚本位于此存储库的 provision/aws
文件夹中。
它还将安装 EFS 作为 ReadWriteMany 持久卷声明的存储提供程序,存储类为 efs-sc
。有关详细信息,请参阅 AWS Elastic File Service 作为 ReadWriteMany 存储。
先决条件
-
执行 ROSA 安装指南 中概述的步骤
-
在 AWS 账户中启用 ROSA 服务
-
下载并安装 ROSA 命令行工具
-
为 Elastic Load Balancer 创建服务链接角色
-
使用您的 Red Hat 账户令牌登录 ROSA CLI 并创建 AWS 账户角色和策略
-
验证您的凭据和配额
-
安装
安装过程在 provision/aws
文件夹中的 rosa_create_cluster.sh
脚本中自动执行,该脚本从环境变量获取参数。
它加载预先设置在 aws/
目录中的 .env
文件中的环境变量。
该脚本通过 rosa create cluster
命令创建 OpenShift 集群,此外它还会创建所需的运算符角色和 OIDC 提供程序。安装过程完成后,它会创建一个新的管理员用户。
.env
文件CLUSTER_NAME=rosa-kcb VERSION=4.13.8 REGION=eu-central-1 COMPUTE_MACHINE_TYPE=m5.2xlarge MULTI_AZ=false REPLICAS=3
如果配置中未提供 ADMIN_PASSWORD
,它会从 AWS Secrets Manager 中读取它。
必填参数
VERSION
-
OpenShift 集群版本。
REGION
-
集群应运行的 AWS 区域。
COMPUTE_MACHINE_TYPE
-
AWS 实例类型,用于默认的 OpenShift 工作节点机器池。
REPLICAS
-
工作节点数量。如果选择多可用区安装,则这需要是该区域中可用可用区数量的倍数。例如,如果该区域有 3 个可用区,则副本需要设置为 3 的倍数。
使用以下命令找出该区域的可用区
aws ec2 describe-availability-zones --region region-name
重新创建管理员用户
上面的安装脚本会自动创建一个管理员用户,但如果需要重新创建用户,可以通过 rosa_recreate_admin.sh
脚本完成,提供 CLUSTER_NAME
和可选的 ADMIN_PASSWORD
参数。
按需扩展集群的节点
标准节点设置可能太小而无法运行负载测试,同时使用不同的实例类型并重建集群需要很长时间(大约 45 分钟)。为了按需扩展集群,标准设置有一个名为 scaling
的机器池,其中包含类型为 m5.2xlarge
的实例,该实例根据当前需求从 4 个实例自动扩展到 15 个实例。但是,工作节点的自动扩展非常耗时,因为节点是逐个扩展的。
要使用不同的实例类型,请使用 rosa create machinepool
创建额外的机器池
AWS Elastic File Service 作为 ReadWriteMany 存储
此设置将 EFS 安装为 ReadWriteMany 持久卷声明的存储提供程序,存储类为 efs-sc
。
使用脚本 rosa_efs_create.sh
和 rosa_efs_delete.sh
,可以添加和删除 EFS 配置。这些旨在分别从 rosa_create_cluster.sh
和 rosa_delete_cluster.sh
中调用。
即使脚本已完成,也可能需要一段时间才能在 PVC 中的 DNS 获取挂载点的新的 IP 地址。在此期间,您可能会看到类似“无法解析服务器 file-system-id.efs.aws-region.amazonaws.com”的错误消息。
以下文档已用于设置 EFS