Skip to main content

创建微软 AKS 集群

您可以使用 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 门户网站设置服务主体并其基于角色的访问权限。

  1. 跳转到 Microsoft Azure 门户网站主页.

  2. 单击 Azure Active Directory。

  3. 单击 应用注册。

  4. 单击 新注册。

  5. 输入名称。这将是服务主体的名称。

  6. 可选:选择哪些帐户可以使用服务主体。

  7. 单击 注册。

  8. 您现在应该看到服务主体的名称 Azure Active Directory > 应用注册。

  9. 单击服务主体的名称。请注意租户 ID 和应用程序 ID(也称为应用 ID 或客户端 ID),以便在配置 AKS 集群时使用它。然后单击 证书 & 密钥。

  10. 单击 新客户端密钥。

  11. 输入一个简短的描述,选择一个过期时间,然后单击添加。记下客户端密钥,以便在配置 AKS 集群时使用它。

结果: 您已经创建了一个服务主体,您应该能够在Azure 活动目录的应用注册中看到它。您仍然需要授予服务主体对 AKS 的访问权限。

给您的服务主体配置基于角色的访问权限,

  1. 单击左边导航栏中的 全部服务。然后单击 订阅。

  2. 单击要与 Kubernetes 集群关联的订阅的名称。记下订阅 ID,以便在预配 AKS 集群时使用它。

  3. 单击 访问控制 (IAM)。

  4. 在 添加角色分配 部分,单击 添加。

  5. 在 角色 字段中,选择可以访问 AKS 的角色。例如,您可以使用 Contributor 角色,该角色具有管理所有内容的权限,但不能授予其他用户访问权限。

  6. 在 分配访问权限 字段中,选择 Azure AD 或 访问主体。

  7. 在 选择 字段中,选择服务主体的名称,然后单击 保存。

结果: 您的服务主体现在有了访问 AKS 的权限。

创建 AKS 集群​

使用 Rancher 来配置您的 Kubernetes 集群。

  1. 在 集群 页,单击 添加集群。

  2. 选择 Azure Kubernetes Service。

  3. 输入 集群名称。

  4. 通过成员角色来设置用户访问集群的权限。

    • 单击添加成员将需要访问这个集群的用户添加到成员中。
    • 在角色下拉菜单中选择每个用户的权限。
  5. 使用订阅 ID、租户 ID、应用 ID 和客户端密钥授予集群对 AKS 的访问权限。如果您没有所有这些信息,则可以使用以下指引来获取这些信息:

  • 应用 ID and ID、租户 ID: 要获取应用 ID 和租户 ID,可以转到 Azure 门户网站,然后单击Azure Active Directory,然后单击应用注册,然后单击服务主体的名称。应用 ID 和租户 ID 都位于应用注册详细信息页上。
  • 客户端密钥: 如果在创建服务主体时未复制客户端密钥,在应用注册详细信息页面,可以获取新密钥,然后单击证书 & 密钥,然后单击新客户端密钥。
  • 订阅 ID: 您可以从门户网站的全部服务 > 订阅中获取订阅 ID。
  1. 使用您的服务主体的信息完成帐户访问表单,并选择一个地理区域。此信息用于 Azure 进行身份验证。

  2. 使用Kubernetes 选项来配置 Kubernetes 版本,DNS 前缀,是否启用监控等。

  3. 使用主机部分来配置集群中的节点。

    Microsoft 文档:如何创建和使用 SSH 公钥和私钥对

  4. 检查您的选项来确认它们是正确的. 然后单击创建。

结果:

  • 您的集群创建成功并进入到Provisioning(启动中)的状态,Rancher 正在拉起您的集群。
  • 在集群状态变为Active(激活)状态后,您将可以开始访问您的集群。
  • 在Active的集群中,有两个默认项目:
    • Default项目(包括default命名空间)。
    • System项目(包括cattle-system、ingress-nginx、kube-public 和 kube-system)。