我有一个开发集群,它用virtualbox,vagrant和dockered的openshift拼凑而成。
到目前为止,我还没有发现如何强制安装程序将eth1地址用作节点的nodeip。始终为10.0.2.15。
到目前为止,我已经尝试过route add 8.8.8.8 gw 192.168.33.1
,以便ansible将eth1子网标识为默认子网。还尝试在节点上结合openshift_ip
设置openshift_public_ip
。
没有成功我还注意到不推荐使用变量openshift_set_node_ip
,该变量可以满足此特定目的。
那么如何在安装过程中更改节点ip? (或什至之后... oc编辑节点也不起作用,即使保存了更改,它也会向后翻转)
答案 0 :(得分:1)
您应该使用要使用DNS配置的特定IP地址来解析节点主机名。分配给每个节点IP的NIC接口应仅配置为一个默认网关。
然后,您可以使用以下清单变量进行安装。 您应该分别为每个节点主机定义每个节点组。 有关节点组的详细信息,请参见Node Group Definition。
例如,为了便于阅读,我在openshift_node_groups
中插入了缩进,但是您应该将其配置为一行。
openshift_node_groups=[
{'name': 'node-config-master1',
'labels': ['node-role.kubernetes.io/master=true'],
'edits': [{ 'key': 'nodeIP','value': '1.1.1.1'}]},
{'name': 'node-config-masterX'
...
},
{'name': 'node-config-infra1',
'labels': ['node-role.kubernetes.io/infra=true'],
'edits': [{ 'key': 'nodeIP','value': '2.2.2.2'}]},
{'name': 'node-config-infraX'
...
},
{'name': 'node-config-compute1',
'labels': ['node-role.kubernetes.io/compute=true'],
'edits': [{ 'key': 'nodeIP','value': '3.3.3.3'}]},
{'name': 'node-config-computeX'
...
}
]
[nodes]
master1.example.com openshift_node_group_name='node-config-master1'
...
masterX.example.com openshift_node_group_name='node-config-masterX'
infra1.example.com openshift_node_group_name='node-config-infra1'
...
infraX.example.com openshift_node_group_name='node-config-infraX'
compute1.example.com openshift_node_group_name='node-config-compute1'
...
computeX.example.com openshift_node_group_name='node-config-computeX'