您可以使用 Rancher 创建一个托管在 Microsoft Azure Kubernetes Service (AKS) 中的集群。
先决条件
注意 创建 AKS 集群会产生费用。
Azure 活动目录(AD)用于动态创建和管理其他 Azure 资源,它为您的集群提供了与 AKS 通信的凭证。有关服务主体的详细信息,请参阅 AKS 文档。
请从Microsoft Azure 门户获取以下信息,创建 Azure 活动目录:
- 订阅 ID
- 租户 ID
- 应用 ID(也称为客户端 ID)
- 客户密钥
- 资源组
下面的部分描述了如何使用 Azure 命令行工具或 Azure 门户设置这些先决条件。
使用 Azure 命令行工具设置服务主体
您可以通过运行以下命令来创建服务主体:
az ad sp create-for-rbac --skip-assignment
结果应显示有关新服务主体的信息:
{
"appId": "xxxx--xxx",
"displayName": "<SERVICE-PRINCIPAL-NAME>",
"name": "http://<SERVICE-PRINCIPAL-NAME>",
"password": "<SECRET>",
"tenant": "<TENANT NAME>"
}
您还需要向服务主体添加角色,使它具有与 AKS API 通信的权限。它还需要创建和列出虚拟网络的访问权限。
下面是将Contributor
角色分配给服务主体的示例命令。Contributor
角色的用户可以管理 AKS 上的任何内容,但不能授予其他人访问权限:
az role assignment create \
--assignee $appId \
--scope /subscriptions/$<SUBSCRIPTION-ID>/resourceGroups/$<GROUP> \
--role Contributor
您也可以用一条命令来创建服务主体并赋予Contributor
权限。在此命令中,设置 scope 参数时,要提供 Azure 资源的完整路径:
az ad sp create-for-rbac \
--scope /subscriptions/$<SUBSCRIPTION-ID>/resourceGroups/$<GROUP> \
--role Contributor
从 Azure 门户网站设置服务主体
除了可以使用 Azure 命令行工具设置服务主体,您还可以按照下方指示设置服务主体,从 Azure 门户网站设置服务主体并其基于角色的访问权限。
跳转到 Microsoft Azure 门户网站主页.
单击 Azure Active Directory。
单击 应用注册。
单击 新注册。
输入名称。这将是服务主体的名称。
可选:选择哪些帐户可以使用服务主体。
单击 注册。
您现在应该看到服务主体的名称 Azure Active Directory > 应用注册。
单击服务主体的名称。请注意租户 ID 和应用程序 ID(也称为应用 ID 或客户端 ID),以便在配置 AKS 集群时使用它。然后单击 证书 & 密钥。
单击 新客户端密钥。
输入一个简短的描述,选择一个过期时间,然后单击添加。记下客户端密钥,以便在配置 AKS 集群时使用它。
结果: 您已经创建了一个服务主体,您应该能够在Azure 活动目录的应用注册中看到它。您仍然需要授予服务主体对 AKS 的访问权限。
给您的服务主体配置基于角色的访问权限,
单击左边导航栏中的 全部服务。然后单击 订阅。
单击要与 Kubernetes 集群关联的订阅的名称。记下订阅 ID,以便在预配 AKS 集群时使用它。
单击 访问控制 (IAM)。
在 添加角色分配 部分,单击 添加。
在 角色 字段中,选择可以访问 AKS 的角色。例如,您可以使用 Contributor 角色,该角色具有管理所有内容的权限,但不能授予其他用户访问权限。
在 分配访问权限 字段中,选择 Azure AD 或 访问主体。
在 选择 字段中,选择服务主体的名称,然后单击 保存。
结果: 您的服务主体现在有了访问 AKS 的权限。
创建 AKS 集群
使用 Rancher 来配置您的 Kubernetes 集群。
在 集群 页,单击 添加集群。
选择 Azure Kubernetes Service。
输入 集群名称。
通过成员角色来设置用户访问集群的权限。
- 单击添加成员将需要访问这个集群的用户添加到成员中。
- 在角色下拉菜单中选择每个用户的权限。
- 使用订阅 ID、租户 ID、应用 ID 和客户端密钥授予集群对 AKS 的访问权限。如果您没有所有这些信息,则可以使用以下指引来获取这些信息:
- 应用 ID and ID、租户 ID: 要获取应用 ID 和租户 ID,可以转到 Azure 门户网站,然后单击Azure Active Directory,然后单击应用注册,然后单击服务主体的名称。应用 ID 和租户 ID 都位于应用注册详细信息页上。
- 客户端密钥: 如果在创建服务主体时未复制客户端密钥,在应用注册详细信息页面,可以获取新密钥,然后单击证书 & 密钥,然后单击新客户端密钥。
- 订阅 ID: 您可以从门户网站的全部服务 > 订阅中获取订阅 ID。
使用您的服务主体的信息完成帐户访问表单,并选择一个地理区域。此信息用于 Azure 进行身份验证。
使用Kubernetes 选项来配置 Kubernetes 版本,DNS 前缀,是否启用监控等。
使用主机部分来配置集群中的节点。
检查您的选项来确认它们是正确的. 然后单击创建。
结果:
- 您的集群创建成功并进入到Provisioning(启动中)的状态。Rancher 正在拉起您的集群。
- 在集群状态变为Active(激活)状态后,您将可以开始访问您的集群。
- 在Active的集群中,有两个默认项目:
Default
项目(包括default
命名空间)和System
项目(包括cattle-system
、ingress-nginx
、kube-public
和kube-system
)。