azure.aks

Azure Kubernetes Service

一个帮助在 Azure 创建 Kubernetes 服务的角色。

要求

此角色使用 Ansible Azure 模块,支持的最低版本为 2.8.0

参考 Microsoft Docs 以了解如何开始使用 Ansible Azure 模块。

角色变量

变量 是否必需 默认值 描述
name Kubernetes 服务资源的名称
resource_group 资源所属的资源组
aad_client_app_id Azure Active Directory 客户端应用程序的 ID,类型为 Native
此应用用于用户通过 kubectl 登录。
aad_server_app_id Azure Active Directory 服务器应用程序的 ID,类型为 Web app/API
此应用表示受管理集群的 apiserver(服务器应用)。
aad_server_app_secret Azure Active Directory 服务器应用程序的密钥。
aad_tenant_id Azure Active Directory 租户的 ID。
admin_username azureuser 用于在节点虚拟机上创建的用户帐户,以便进行 SSH 访问。
service_principal 从 ansible-playbook、环境变量 AZURE_CLIENT_ID~/.azure/credentials 加载 用于身份验证 Azure API 的服务主体。
client_secret 从 ansible-playbook、环境变量 AZURE_SECRET~/.azure/credentials 加载 与服务主体相关的密钥。
dns_prefix name 相同 创建的主机名前缀。
dns_service_ip 分配给 Kubernetes DNS 服务的 IP 地址。
此地址必须在 service_cidr 指定的 Kubernetes 服务地址范围内。
docker_bridge_cidr Docker 桥接的特定 IP 地址和子网掩码,使用标准 CIDR 表示法。
此地址不得在任何子网 IP 范围内,或在 Kubernetes 服务地址范围内。
enable_rbac True 启用 Kubernetes 角色访问控制。
http_application_routing False 启用 http_application_routing 附加组件。配置入口以自动创建公共 DNS 名称。
kubernetes_version azure_rm_aks_version 模块的第一个值 创建集群时要使用的 Kubernetes 版本。
location eastus Kubernetes 服务资源的区域,如果未指定,将使用 resource_group 的位置。
如果资源组不存在,则需要指定位置
max_pods 110 每个节点上可部署的最大 Pod 数。
monitoring False 启用 monitoring 附加组件。开启日志分析监控。
network_plugin 选项:
 - kubenet
 - azure
要使用的 Kubernetes 网络插件。
network_policy 要使用的 Kubernetes 网络策略。与 “azure” 网络插件一起使用。指定 azure 用于 Azure 网络策略管理器,calico 用于 Calico 网络策略控制器。
node_count 3 Kubernetes 节点池中的节点数量。
node_osdisk_size_gb 30 节点池中每个节点的操作系统磁盘大小(以 GB 为单位)。
node_vm_size Standard_DS1_v2 作为 Kubernetes 节点创建的虚拟机大小。
nodepool_name nodepool1 节点池名称,最多 12 个字母数字字符。
os_type Linux
pod_cidr 使用 kubenet 时分配 Pod IP 的 CIDR 表示法 IP 范围。
此范围不得与任何子网 IP 范围重叠。
service_cidr 用于分配服务集群 IP 的 CIDR 表示法 IP 范围。
此范围不得与任何子网 IP 范围重叠。
storage_profile ManagedDisks
ssh_key ~/.ssh/id_rsa.pub 加载 安装在节点虚拟机上的公钥路径或密钥内容,以便进行 SSH 访问。
virtual_node False 启用 virtual_node 附加组件。使用 Azure 容器实例快速配置 Pods。
virtual_node_subnet_id virtual_nodeTrue 时创建新资源。
vnet_subnet_id virtual_nodeTrue 或定义 network_plugin 时创建新资源。 部署集群的现有虚拟网络中的子网 ID。
workspace_resource_id 使用 resource_group 中的第一个日志分析工作区,或在 monitoringTrue 时创建新资源。 用于存储监控数据的现有日志分析工作区的资源 ID。

示例剧本

通过以下命令安装角色:

ansible-galaxy install azure.aks

在剧本中使用该角色来创建默认的 AKS:

- hosts: localhost
  tasks:
      - include_role:
           name: azure.aks
        vars:
           name: akscluster
           resource_group: aksroletest

创建具有监控的 AKS:

- hosts: localhost
  tasks:
      - include_role:
           name: azure.aks
        vars:
           monitoring: yes
           name: akscluster
           resource_group: aksroletest

许可证

MIT

关于项目

Manage Azure Kubernetes Service

安装
ansible-galaxy install azure.aks
许可证
mit
下载
380
拥有者
APIs, SDKs and open source projects from Microsoft Azure