我已经使用Ansible的“高级安装”选项在Azure的五个RedHat虚拟机上安装了OpenShift OCP3.7。在尝试将云提供商设置为azure之前,一切都运行良好。在此之后,节点无法启动,并显示如下消息:
azure_instances.go:34] error: az.NodeAddresses, az.getIPForMachine(foo-0.bar.baz.com), err=instance not found
cloud_request_manager.go:105] Node addresses from cloud provider for node "foo-0.bar.baz.com" not collectedAzure中虚拟机的名称是从foo-0到foo-4,但OpenShift中的节点名称是完全限定的域名,比如foo-0.bar.baz.com,至少oc get nodes是这样显示的。在我看来,OpenShift正在向Azure请求使用完全限定域名的信息,而Azure找不到。
我的问题是,如果我必须只使用主机名,例如,foo-0,作为OpenShift节点名,而不是完全限定域名才能将OpenShift连接到Azure?
如果是这种情况,如何配置OpenShift安装以使用“短”节点名,而不使用域名?
发布于 2018-09-20 22:26:50
我已经找到了解决这个问题的办法。
在您定义要设置的环境的Ansible清单中,将openshift_hostname变量与您希望用作节点名的短名称添加到每个主机。例如,在我们使用的YAML清单中:
OSEv3:
...
children:
nodes:
hosts:
foo-0:
openshift_hostname: foo-0
openshift_schedulable: false
first_master: true
foo-1:
openshift_hostname: foo-1
openshift_schedulable: false
foo-2:
openshift_hostname: foo-2
openshift_schedulable: false
foo-3:
openshift_hostname: foo-3
openshift_node_labels: {'region': 'infra', 'zone': 'default'}
foo-4:
openshift_hostname: foo-4
openshift_node_labels: {'region': 'primary', 'zone': 'default'}
...似乎没有openshift_hostname,OpenShift安装将使用节点主机名的DNS查找,例如,foo-0,并使用结果作为节点名。在我们的示例中,我们得到了完全限定的域名,例如foo-0.bar.baz.com,然后将其用作节点名称。
https://stackoverflow.com/questions/52400948
复制相似问题