如何在 OpenShift Ansible 项目中限制对节点的提供

How to limit provision to node in OpenShift Ansible project

考虑到 OpenShift Ansible 项目 https://github.com/openshift/openshift-ansible 我想知道如何将配置限制在某个节点上

我使用下面的命令运行为我的清单文件中的所有节点提供

ansible-playbook playbooks/deploy_cluster.yml

为了节省某些更改的时间,我想限制对特定节点的提供。例如我试过 limit

ansible-playbook playbooks/deploy_cluster.yml --limit master0

使用这个特定的命令,我注意到配置的完成方式完全不同。例如控制台将显示

INSTALLER STATUS ***************************************************************************************************************************************************
Initialization             : Complete (0:00:01)
Health Check               : Complete (0:00:00)
etcd Install               : Complete (0:00:00)
Master Install             : Complete (0:00:00)
Master Additional Install  : Complete (0:00:00)
Node Install               : Complete (0:00:01)
Hosted Install             : Complete (0:00:01)
Web Console Install        : Complete (0:00:00)
Service Catalog Install    : Complete (0:00:00)

但实际上什么都没有提供。例如 Etcd 安装是 "complete" 但节点上不存在/未安装 etcd 服务。

我还注意到负责配置 etcd 安装的任务中出现警告

TASK [Set etcd install 'In Progress'] ******************************************************************************************************************************
Thursday 28 June 2018  08:48:19 +0000 (0:00:00.270)       0:00:01.344 ********* 
ok: [master0]
 [WARNING]: Could not match supplied host pattern, ignoring: oo_first_etcd

将提供限制到特定节点的正确/更好的 Ansible 方法是什么?

我记得至少需要master和etcd主机组。节点主机可以在完成master和etcd安装后添加。但它作为基于节点单元的安装是有问题的。从 v3.9 开始,您可以使用部分 playbook 安装 openshift。

https://docs.openshift.com/container-platform/3.9/install_config/install/advanced_install.html#running-the-advanced-installation-individual-components