第 24 章 为 Azure 配置
您可以将 OpenShift Container Platform 配置为使用 Microsoft Azure 负载均衡器 和 磁盘作为持久性应用程序数据。
24.1. 开始前
24.1.1. 为 Microsoft Azure 配置授权
Azure 角色
为 OpenShift Container Platform 配置 Microsoft Azure 需要以下 Microsoft Azure 角色:
贡献者 | 创建和管理所有类型的 Microsoft Azure 资源。 |
请参阅 Classic 订阅管理员角色对比Azure RBAC 角色与.Azure AD 管理员角色文档。
权限
为 OpenShift Container Platform 配置 Microsoft Azure 需要服务主体,它允许创建和管理 Kubernetes 服务负载均衡器和磁盘以用于持久性存储。服务主体值在安装时定义并部署到 Azure 配置文件,该文件位于 OpenShift Container Platform master 和节点主机上的 /etc/origin/cloudprovider/azure.conf
中。
流程
使用 Azure CLI 获取帐户订阅 ID:
# az account list [ { "cloudName": "AzureCloud", "id": "<subscription>", 1 "isDefault": false, "name": "Pay-As-You-Go", "state": "Enabled", "tenantId": "<tenant-id>", "user": { "name": "admin@example.com", "type": "user" } ]
- 1
- 用于创建新权限的订阅 ID。
使用 Microsoft Azure 角色及 Microsoft Azure 订阅和资源组的范围创建服务主体。记录这些值的输出,以便在定义清单时使用。使用上一步中的
<subscription
> 值替换以下值:# az ad sp create-for-rbac --name openshiftcloudprovider \ --password <secret> --role contributor \ --scopes /subscriptions/<subscription>/resourceGroups/<resource-group> Retrying role assignment creation: 1/36 Retrying role assignment creation: 2/36 { "appId": "<app-id>", "displayName": "ocpcloudprovider", "name": "http://ocpcloudprovider", "password": "<secret>", "tenant": "<tenant-id>" }
24.1.2. 配置 Microsoft Azure 对象
将 OpenShift Container Platform 与 Microsoft Azure 集成需要以下组件或服务,以创建高度可用的、功能完整的环境。
为确保可以启动适当数量的实例,请在创建实例前请求增加 Microsoft 的 CPU 配额。
- 资源组
- 资源组包含用于部署的所有 Microsoft Azure 组件,包括网络、负载均衡器、虚拟机和 DNS。配额和权限可应用到资源组,以控制和管理在 Microsoft Azure 上部署的资源。资源组按照区域区域创建并定义。为 OpenShift Container Platform 环境创建的所有资源都应位于同一区域内,以及同一资源组内。
如需更多信息,请参阅 Azure Resource Manager 概述。
- Azure Virtual Networks
- Azure Virtual Networks 用于将 Azure 云网络相互隔离。实例和负载均衡器使用虚拟网络来允许相互通信和与互联网的通信。虚拟网络允许创建一个或多个子网,供资源组内的组件使用。您还可以将虚拟网络连接到不同的 VPN 服务,允许与内部服务通信。
如需更多信息,请参阅什么是 Azure 虚拟网络?
- Azure DNS
- Azure 提供了一个托管的 DNS 服务,它提供内部和外部的主机名和负载均衡器解析。请参考环境使用 DNS 区域来托管三个 DNS A 记录,允许将公共 IP 映射到 OpenShift Container Platform 资源和 bastion。
- 负载平衡
- Azure 负载均衡器允许网络连接在 Azure 环境中虚拟机上运行的服务扩展和高可用性。
- 存储帐户
-
存储帐户允许虚拟机等资源访问 Microsoft Azure 提供的不同类型的存储组件。在安装过程中,存储帐户定义用于 OpenShift Container Platform registry 的基于对象的
blob
存储的位置。
如需更多信息,请参阅 Azure Storage 简介,或为 Microsoft Azure 配置 OpenShift Container Platform registry 部分,以了解有关为 registry 创建存储帐户的步骤。
- Service Principal
- Azure 提供了创建访问、管理或创建 Azure 组件的服务帐户的功能。服务帐户授予对特定服务的 API 访问权限。例如,服务主体允许 Kubernetes 或 OpenShift Container Platform 实例请求持久性存储和负载均衡器。服务主体允许精细访问实例或特定功能的用户。
如需更多信息 ,请参阅 Azure Active Directory 中的应用程序和服务主体对象。
- 可用性集
- 可用性集可确保部署的虚拟机在集群中的多个隔离硬件节点之间分布。该分布有助于确保在云提供商硬件上维护时,实例不会在一个特定节点上运行。
您应该根据角色将实例划分为不同的可用性集。例如,一个可用性集含有三个 master 主机,一个可用性集包含基础架构主机,以及一个包含应用主机的可用性集。这允许分段并在 OpenShift Container Platform 中使用外部负载均衡器。
如需更多信息,请参阅管理 Linux 虚拟机可用性。
- 网络安全组
- 网络安全组(NSG)提供允许或拒绝在 Azure Virtual Network 中部署的资源的流量的规则列表。NSG 使用数字优先级值和规则来定义允许哪些项目相互通信。您可以对允许通信发生的情况施加限制,比如仅在负载均衡器内部或从任何位置处理。
管理员可通过优先级值授予允许或不允许进行端口通信的顺序的粒度值。
如需更多信息,请参阅 计划虚拟网络。
- 实例大小
- 成功的 OpenShift Container Platform 环境需要满足最低硬件要求。
如需更多信息,请参阅 OpenShift Container Platform 文档或云服务 大小中的 Minimum Had ware 要求部分。