openstack.cloud.coe_cluster_template 模块 – 在 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_template

概要

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

要求

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

  • python >= 3.6

  • openstacksdk >= 1.0.0

参数

参数

注释

api_timeout

整数

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

auth

字典

包含云的认证插件策略所需的认证信息的字典。对于默认的 *password* 插件,这将包含 *auth_url*、*username*、*password*、*project_name* 以及关于域的任何信息(例如,*user_domain_name* 或 *project_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 文件中定义的命名云配置。为 *auth* 和 *auth_type* 提供默认值。如果提供了 *auth* 或存在 OpenStack OS_* 环境变量,则不需要此参数。如果 *cloud* 是字典,则它包含完整的云配置,就像 clouds.yaml 的一部分一样。

coe

字符串

此集群模板的容器编排引擎

如果 *state* 为 present,则为必需。

选项

  • "kubernetes"

  • "swarm"

  • "mesos"

dns_nameserver

字符串

DNS 服务器地址。

Magnum 的 *dns_nameserver* 默认值为 8.8.8.8

docker_storage_driver

字符串

Docker 存储驱动程序。

选项

  • "devicemapper"

  • "overlay"

  • "overlay2"

docker_volume_size

整数

Docker 卷的大小(以 GB 为单位)。

external_network_id

字符串

要附加到集群的外部网络。

当 *is_floating_ip_enabled* 设置为 true 时,必须定义 *external_network_id*。

fixed_network

字符串

要附加到集群的固定网络名称或 ID。

fixed_subnet

字符串

要附加到集群的固定子网名称或 ID。

flavor_id

字符串

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

http_proxy

字符串

将接收所有 HTTP 请求并转发它们的代理的地址。

格式为包含端口号的 URL。

https_proxy

字符串

将接收所有 HTTPS 请求并转发它们的代理的地址。

格式为包含端口号的 URL。

image_id

字符串

集群将基于的镜像 ID。

如果 *state* 为 present,则为必需。

insecure_registry

字符串

指向用户自己的私有非安全 Docker 注册表的 URL。

interface

别名:endpoint_type

字符串

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

选项

  • "admin"

  • "internal"

  • "public" ← (默认)

is_floating_ip_enabled

别名:floating_ip_enabled

布尔值

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

当 *is_floating_ip_enabled* 设置为 true 时,必须定义 *external_network_id*。

选项

  • false

  • true ← (默认)

is_master_lb_enabled

别名:master_lb_enabled

布尔值

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

Magnum 的 *is_master_lb_enabled* 默认值为 true,我们的为 false

选项

  • false ← (默认)

  • true

is_public

别名:public

布尔值

指示集群模板是公开的还是私有的。

Magnum 的 *is_public* 默认值为 false

选项

  • false

  • true

is_registry_enabled

别名:registry_enabled

布尔值

指示是否启用 Docker 注册表。

Magnum 的 *is_registry_enabled* 默认值为 false

选项

  • false

  • true

is_tls_disabled

别名:tls_disabled

布尔值

指示是否应禁用 TLS。

Magnum 的 *is_tls_disabled* 默认值为 false

选项

  • false

  • true

keypair_id

字符串

要使用的密钥对的名称或 ID。

labels

任意

一个或多个键值对。

master_flavor_id

字符串

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

name

字符串 / 必需

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

network_driver

字符串

用于实例化容器网络的驱动程序的名称。

选项

  • "flannel"

  • "calico"

  • "docker"

no_proxy

字符串

集群中不应使用代理的IP地址列表,用逗号分隔。

region_name

字符串

区域名称。

sdk_log_level

字符串

OpenStackSDK 的日志级别

选项

  • "INFO" ← (默认)

  • "DEBUG"

sdk_log_path

字符串

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

server_type

字符串

此集群模板的服务器类型。

Magnum 的 *server_type* 默认值为 vm

选项

  • "vm"

  • "bm"

state

字符串

指示所需资源的状态。

选项

  • "present" ← (默认)

  • "absent"

timeout

整数

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

默认值: 180

validate_certs

别名:verify

布尔值

是否验证 SSL API 请求。

Ansible 2.3 之前,默认为 true

选项

  • false

  • true

volume_driver

字符串

用于实例化容器卷的驱动程序名称。

选项

  • "cinder"

  • "rexray"

wait

布尔值

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 template
  openstack.cloud.coe_cluster_template:
    cloud: devstack
    coe: kubernetes
    image_id: 2a8c9888-9054-4b06-a1ca-2bb61f9adb72
    keypair_id: mykey
    name: k8s
    is_public: false

返回值

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

描述

cluster_template

字典

描述模板的字典。

返回值:当 *state* 为 present 时成功。

apiserver_port

整数

COE API 服务器的公开端口。

返回值:成功

cluster_distro

字符串

显示为 bay/cluster 驱动程序中的镜像定义的适当元数据中定义的 os_distro 属性。

返回值:成功

coe

字符串

此集群模板的容器编排引擎。支持的 COE 包括 kubernetes、swarm、mesos。

返回值:成功

示例: "kubernetes"

created_at

字符串

创建资源的日期和时间。

返回值:成功

dns_nameserver

字符串

bay/cluster 中服务器和容器要使用的 DNS 服务器。

返回值:成功

示例: "8.8.8.8"

docker_storage_driver

字符串

用于管理镜像存储和容器可写层的驱动程序的名称。

返回值:成功

docker_volume_size

整数

每个服务器上用于 Docker 守护程序缓存镜像和托管容器的本地存储大小(以 GB 为单位)。

返回值:成功

示例: 5

external_network_id

字符串

Neutron 网络的名称或网络 ID,用于为 bay/cluster 提供与外部互联网的连接。

返回值:成功

示例: "public"

fixed_network

字符串

要附加到集群的固定网络名称。

返回值:成功

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

fixed_subnet

字符串

要附加到集群的固定子网名称。

返回值:成功

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

flavor_id

字符串

用于引导节点服务器的 Nova flavor ID 或名称。

返回值:成功

示例: "c1.c1r1"

http_proxy

字符串

将接收所有 HTTP 请求并转发它们的代理的地址。格式为包含端口号的 URL。

返回值:成功

示例: "http://10.0.0.11:9090"

https_proxy

字符串

将接收所有 HTTPS 请求并转发它们的代理的地址。格式为包含端口号的 URL。

返回值:成功

示例: "https://10.0.0.10:8443"

id

字符串

集群模板的 UUID。

返回值:成功

image_id

字符串

Glance 中基本镜像的名称或 UUID,用于引导 bay/cluster 的服务器。

返回值:成功

示例: "05567ec6-85f5-44cb-bd63-242a8e7f0e9d"

insecure_registry

字符串

指向用户自己的私有非安全 Docker 注册表以部署和运行 Docker 容器的 URL。

返回值:成功

is_floating_ip_enabled

布尔值

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

返回值:成功

示例: true

is_hidden

布尔值

指示集群模板是隐藏的还是未隐藏的。

返回值:成功

示例: false

is_master_lb_enabled

布尔值

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

返回值:成功

示例: true

is_public

布尔值

对 baymodel/cluster 模板的访问通常仅限于管理员、所有者或与所有者位于同一租户中的用户。设置此标志将使 baymodel/cluster 模板公开并可供其他用户访问。默认情况下不是公开的。

返回值:成功

示例: false

is_registry_enabled

布尔值

默认情况下,Docker 镜像是从公共 Docker 注册表中提取的,但在某些情况下,用户可能希望使用私有注册表。此选项提供基于注册表 V2 的替代注册表:Magnum 将在由 swift 支持的 bay/cluster 中创建一个本地注册表以托管镜像。默认为使用公共注册表。

返回值:成功

示例: false

is_tls_disabled

布尔值

通常启用传输层安全 (TLS) 以保护 bay/cluster。在某些情况下,用户可能希望在 bay/cluster 中禁用 TLS,例如在开发期间或为了排除某些问题。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认为启用 TLS。

返回值:成功

示例: false

keypair_id

字符串

要在 bay/cluster 服务器中配置用于 ssh 访问的 SSH 密钥对的名称。

返回值:成功

示例: "mykey"

labels

字典

一个或多个键值对。

返回值:成功

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

master_flavor_id

字符串

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

返回值:成功

示例: "c1.c1r1"

name

字符串

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

返回值:成功

示例: "k8scluster"

network_driver

字符串

用于为容器提供网络的网络驱动程序的名称

返回值:成功

示例: "calico"

no_proxy

字符串

集群中不应使用代理的IP地址列表,用逗号分隔。

返回值:成功

示例: "10.0.0.4,10.0.0.5"

server_type

字符串

bay/cluster 中的服务器可以是虚拟机或裸机。

返回值:成功

示例: "vm"

updated_at

字符串

更新资源的日期和时间。

返回值:成功

uuid

字符串

集群模板的 UUID。

返回值:成功

volume_driver

字符串

用于管理容器持久存储的卷驱动程序的名称。

返回值:成功

示例: "cinder"

作者

  • OpenStack Ansible SIG