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

注意

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

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

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

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

概要

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

需求

执行此模块的主机需要以下要求。

  • python >= 3.6

  • openstacksdk >= 1.0.0

参数

参数

注释

api_timeout

整数

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

auth

字典

包含云的 auth 插件策略所需的 auth 信息的字典。对于默认的 *password* 插件,这将包含 *auth_url*、*username*、*password*、*project_name* 以及任何关于域的信息(例如,*user_domain_name* 或 *project_domain_name*),如果云支持它们的话。对于其他插件,此参数需要包含该 auth 插件所需的所有参数。如果提供了命名云或存在 OpenStack OS_* 环境变量,则不需要此参数。

auth_type

字符串

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

ca_cert

别名:cacert

字符串

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

client_cert

别名:cert

字符串

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

client_key

别名:key

字符串

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

cloud

任意

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

cluster_template_id

字符串

集群模板的模板 ID。

如果 *state* 为 present,则需要此参数。

discovery_url

字符串

用于集群节点发现的 URL。

flavor_id

字符串

此集群模板的子节点的类型。

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

字符串

此集群模板的主节点的类型。

name

字符串 / 必需

必须赋予集群模板的名称。

node_count

整数

此集群的节点数。

Magnum 的 *node_count* 默认值为 1。

region_name

字符串

区域名称。

sdk_log_level

字符串

OpenStackSDK 的日志级别

选项

  • "INFO" ← (默认)

  • "DEBUG"

sdk_log_path

字符串

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

state

字符串

指示所需资源状态。

选项

  • "present" ← (默认)

  • "absent"

timeout

整数

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

默认: 180

validate_certs

别名:verify

布尔值

是否验证SSL API请求。

Ansible 2.3之前,默认为true

选项

  • false

  • true

wait

布尔值

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

选项

  • false

  • true ← (默认)

注释

注意

  • 可以使用标准的OpenStack环境变量,例如OS_USERNAME,而不是提供显式值。

  • 身份验证信息由openstacksdk驱动,这意味着值可以来自/etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml或~/.config/openstack/clouds.yaml中的yaml配置文件,然后来自标准环境变量,最后来自play中的显式参数。更多信息可以在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

返回值

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

描述

cluster

字典

描述集群的字典。

返回:statepresent时成功。

api_address

字符串

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

返回:成功

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

cluster_template_id

字符串

集群模板的UUID。

返回:成功

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

coe_version

字符串

bay/cluster中所选COE的版本信息,帮助客户端选择正确的客户端版本。

返回:成功

示例:"v1.11.1"

create_timeout

整数

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

返回:成功

示例:60

created_at

字符串

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

返回:成功

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

discovery_url

字符串

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

返回:成功

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

fixed_network

字符串

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

返回:成功

fixed_subnet

字符串

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

返回:成功

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

列表 / 元素=字符串

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

返回:成功

示例:["172.24.4.5"]

master_count

整数

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

返回:成功

示例:1

master_flavor_id

字符串

此baymodel/cluster模板的master节点的flavor。

返回:成功

示例:"c1.c1r1"

name

字符串

必须赋予集群的名称。

返回:成功

示例:"k8scluster"

node_addresses

列表 / 元素=字符串

用作节点的所有服务器的浮动IP列表。

返回:成功

示例:["172.24.4.8"]

node_count

整数

此集群的主节点数量。

返回:成功

示例:1

stack_id

字符串

来自Heat编排服务的编排堆栈的参考UUID。

返回:成功

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

status

字符串

来自heat堆栈的集群状态。

返回:成功

示例:"CREATE_COMLETE"

status_reason

字符串

来自heat堆栈的集群状态原因。

返回:成功

示例:"Stack CREATE completed successfully"

updated_at

字符串

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

返回:成功

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

uuid

字符串

此集群的唯一UUID。

返回:成功

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

作者

  • OpenStack Ansible SIG