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_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 的一个部分一样。

coe

字符串

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

如果 statepresent,则为必需项。

选择

  • "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

字符串

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

http_proxy

字符串

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

格式是包含端口号的 URL。

https_proxy

字符串

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

格式是包含端口号的 URL。

image_id

字符串

集群将基于的镜像 ID。

如果 statepresent,则为必需项。

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

字符串

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

name

字符串 / 必需

必须为集群模板指定的名称。

network_driver

字符串

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

选择

  • "flannel"

  • "calico"

  • "docker"

no_proxy

字符串

一个逗号分隔的 IP 列表,这些 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 配置文件,然后来自标准环境变量,最后来自 plays 中的显式参数。 可以在 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

字典

描述模板的字典。

返回值:statepresent 时,成功返回。

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 中用于引导 bay/cluster 服务器的基本映像的名称或 UUID。

返回值: 成功

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

insecure_registry

字符串

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

返回值: 成功

is_floating_ip_enabled

布尔值

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

返回值: 成功

示例: true

is_hidden

布尔值

指示集群模板是否隐藏。

返回值: 成功

示例: false

is_master_lb_enabled

布尔值

指示创建的集群是否应具有用于主节点的负载均衡器。

返回值: 成功

示例: true

is_public

布尔值

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

返回值: 成功

示例: false

is_registry_enabled

布尔值

默认情况下,Docker 映像是从公共 Docker 注册表中提取的,但在某些情况下,用户可能希望使用私有注册表。此选项提供基于 Registry 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

字符串

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

返回值: 成功

示例: "c1.c1r1"

name

字符串

必须为集群模板指定的名称。

返回值: 成功

示例: "k8scluster"

network_driver

字符串

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

返回值: 成功

示例: "calico"

no_proxy

字符串

一个逗号分隔的 IP 列表,这些 IP 在集群中不应使用代理。

返回值: 成功

示例: "10.0.0.4,10.0.0.5"

server_type

字符串

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

返回值: 成功

示例: "vm"

updated_at

字符串

更新资源时的日期和时间。

返回值: 成功

uuid

字符串

集群模板的 UUID。

返回值: 成功

volume_driver

字符串

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

返回值: 成功

示例: "cinder"

作者

  • OpenStack Ansible SIG