openstack.cloud.coe_cluster 模块 – 管理 OpenStack 云中的 COE 集群

注意

此模块是 openstack.cloud 集合(版本 2.3.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install openstack.cloud。您需要其他要求才能使用此模块,请参阅 要求 了解详细信息。

要在剧本中使用它,请指定:openstack.cloud.coe_cluster

概要

  • 通过 OpenStack 的 Magnum(也称为容器基础设施管理 API)添加或删除 COE(容器编排引擎)集群。

要求

在执行此模块的主机上需要满足以下要求。

  • python >= 3.6

  • openstacksdk >= 1.0.0

参数

参数

注释

api_timeout

整数

套接字层在 API 调用超时之前应等待多长时间。如果省略此项,则不会将任何内容传递到请求库。

auth

字典

包含云的身份验证插件策略所需的身份验证信息的字典。对于默认的password插件,这将包含auth_urlusernamepasswordproject_name以及有关域的任何信息(例如,如果云支持域,则为user_domain_nameproject_domain_name)。对于其他插件,此参数将需要包含该身份验证插件所需的任何参数。如果提供了已命名的云或存在 OpenStack OS_* 环境变量,则不需要此参数。

auth_type

字符串

要使用的身份验证插件的名称。如果云使用密码身份验证以外的其他方式,则应在此处指示插件的名称,并应相应地更新auth参数的内容。

ca_cert

别名: cacert

字符串

CA 证书捆绑包的路径,该捆绑包可用作验证 SSL API 请求的一部分。

client_cert

别名: cert

字符串

客户端证书的路径,用作 SSL 事务的一部分。

client_key

别名: key

字符串

客户端密钥的路径,用作 SSL 事务的一部分。

cloud

任何

要操作的已命名云或云配置。如果cloud是字符串,则它引用 OpenStack clouds.yaml 文件中定义的已命名云配置。为authauth_type提供默认值。如果提供了auth或存在 OpenStack OS_* 环境变量,则不需要此参数。如果cloud是字典,则它包含完整的云配置,就像 clouds.yaml 中的某个部分一样。

cluster_template_id

字符串

集群模板的模板 ID。

如果statepresent,则为必需。

discovery_url

字符串

用于集群节点发现的 URL。

flavor_id

字符串

此集群模板的 minion 节点的 flavor。

interface

别名: endpoint_type

字符串

要从服务目录中获取的端点 URL 类型。

选项

  • "admin"

  • "internal"

  • "public" ← (默认)

is_floating_ip_enabled

别名: floating_ip_enabled

布尔值

指示创建的集群是否应具有浮动 IP。

是否启用使用云提供商的浮动 IP。一些云提供商使用浮动 IP,一些云提供商使用公共 IP,因此 Magnum 提供此选项以指定使用浮动 IP 的选择。

如果未设置,则将使用使用cluster_template_id指定的集群模板的is_floating_ip_enabled值。

is_floating_ip_enabled设置为 true 时,必须定义集群模板中的external_network_id

选项

  • false

  • true

keypair

字符串

要使用的密钥对的名称。

labels

任何

一个或多个键/值对。

master_count

整数

此集群的主节点数。

Magnum 的master_count默认值为 1。

master_flavor_id

字符串

此集群模板的主节点的 flavor。

name

字符串 / 必需

必须给集群模板的名称。

node_count

整数

此集群的节点数。

Magnum 的node_count默认值为 1。

region_name

字符串

区域的名称。

sdk_log_level

字符串

OpenStackSDK 的日志级别

选项

  • "INFO" ← (默认)

  • "DEBUG"

sdk_log_path

字符串

OpenStackSDK 的日志文件的路径。如果为空,则不写入任何日志

状态

字符串

指示资源的期望状态。

选项

  • "present" ← (默认)

  • "absent"

超时

整数

Ansible应该等待请求的资源多长时间。

默认: 180

validate_certs

别名: verify

布尔值

是否应验证 SSL API 请求。

在 Ansible 2.3 之前,此项默认为 true

选项

  • false

  • true

等待

布尔值

Ansible 是否应该等待直到请求的资源完成。

选项

  • false

  • true ← (默认)

备注

注意

  • 可以使用标准的 OpenStack 环境变量(例如 OS_USERNAME)来代替提供显式值。

  • 身份验证信息由 openstacksdk 驱动,这意味着值可以来自 /etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml 或 ~/.config/openstack/clouds.yaml 中的 yaml 配置文件,然后来自标准环境变量,最后来自 playbook 中的显式参数。 更多信息请访问 https://docs.openstack.org/openstacksdk/

示例

- name: Create a new Kubernetes cluster
  openstack.cloud.coe_cluster:
    cloud: devstack
    cluster_template_id: k8s-ha
    keypair: mykey
    master_count: 3
    name: k8s
    node_count: 5

返回值

常见的返回值在此处记录 这里,以下是此模块特有的字段

描述

集群

字典

描述集群的字典。

返回:statepresent 时成功返回。

api_address

字符串

向最终用户公开的 COE API 的端点 URL。

返回: 成功

示例: "https://172.24.4.30:6443"

cluster_template_id

字符串

集群模板的 UUID。

返回: 成功

示例: "7b1418c8-cea8-48fc-995d-52b66af9a9aa"

coe_version

字符串

bay/集群中选定 COE 的版本信息,用于帮助客户端选择正确的客户端版本。

返回: 成功

示例: "v1.11.1"

create_timeout

整数

创建集群的超时时间(分钟)。如果未设置,则默认为 60。

返回: 成功

示例: 60

created_at

字符串

集群创建时的 UTC 日期和时间。

返回: 成功

示例: "2018-08-16T10:29:45+00:00"

discovery_url

字符串

用于节点发现的自定义发现 URL。这由 COE 用来发现已创建用于托管容器的服务器。实际的发现机制因 COE 而异。 在某些情况下,该服务会在发现服务中填写服务器信息。在其他情况下,如果未指定 discovery_url,则该服务将使用 https://discovery.etcd.io 上的公共发现服务。 在这种情况下,该服务将在此处为每个 bay 生成一个唯一的 URL,并存储服务器的信息。

返回: 成功

示例: "https://discovery.etcd.io/a42ee38e7113f31f4d6324f24367aae5"

fixed_network

字符串

为 bay/集群的内部网络提供连接的网络名称或 ID。

返回: 成功

fixed_subnet

字符串

为 bay/集群中的节点分配网络地址时使用的固定子网。

返回: 成功

flavor_id

字符串

启动节点服务器时使用的 flavor 名称或 ID。默认为 m1.small。

返回: 成功

id

字符串

此集群的唯一 UUID。

返回: 成功

示例: "86246a4d-a16c-4a58-9e96ad7719fe0f9d"

is_floating_ip_enabled

布尔值

指示创建的集群是否应具有浮动 IP。

返回: 成功

示例: true

is_master_lb_enabled

布尔值

指示创建的集群是否应为 master 节点配置负载均衡器。

返回: 成功

示例: true

keypair

字符串

要使用的密钥对的名称。

返回: 成功

示例: "mykey"

labels

字典

一个或多个键/值对。

返回: 成功

示例: {"key1": "value1", "key2": "value2"}

master_addresses

list / elements=string

所有 master 节点的浮动 IP 列表。

返回: 成功

示例: ["172.24.4.5"]

master_count

整数

将用作 bay/集群主节点的服务器数量。设置为多个主节点可启用高可用性。如果在 baymodel/集群模板中指定了选项 master-lb-enabled,则会将主服务器放置在负载均衡器池中。默认为 1。

返回: 成功

示例: 1

master_flavor_id

字符串

此 baymodel/集群模板的主节点的 flavor。

返回: 成功

示例: "c1.c1r1"

name

字符串

必须给集群指定的名称。

返回: 成功

示例: "k8scluster"

node_addresses

list / elements=string

充当节点的所有服务器的浮动 IP 列表。

返回: 成功

示例: ["172.24.4.8"]

node_count

整数

此集群的主节点数。

返回: 成功

示例: 1

stack_id

字符串

来自 Heat 编排服务的编排堆栈的引用 UUID。

返回: 成功

示例: "07767ec6-85f5-44cb-bd63-242a8e7f0d9d"

status

字符串

来自 Heat 堆栈的集群状态。

返回: 成功

示例: "CREATE_COMLETE"

status_reason

字符串

来自 Heat 堆栈的集群状态原因

返回: 成功

示例: "堆栈 CREATE 成功完成"

updated_at

字符串

集群更新时的 UTC 日期和时间。

返回: 成功

示例: "2018-08-16T10:39:25+00:00"

uuid

字符串

此集群的唯一 UUID。

返回: 成功

示例: "86246a4d-a16c-4a58-9e96ad7719fe0f9d"

作者

  • OpenStack Ansible SIG