在Azure中使用OpenShift,节点无法以“找不到实例”开始

时间:2018-09-19 08:00:08

标签: azure openshift

我已使用Ansible的“高级安装”选项在Azure的五个RedHat虚拟机上安装了OpenShift OCP 3.7。一切正常,直到尝试将云提供商设置为天蓝色。此后,节点无法以如下消息开头:

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 collected

Azure中虚拟机的名称是foo-0foo-4,但是OpenShift中的节点名称是完全限定的域名,例如foo-0.bar.baz.com,至少{ {1}}显示。在我看来,OpenShift正在使用Azure无法找到的FQDN向Azure询问信息。

我的问题是我是否只需要使用主机名(例如oc get nodes)作为OpenShift节点名,而不是FQDN才能将OpenShift连接到Azure?

在这种情况下,如何配置OpenShift安装以使用“短”节点名而不使用域名?

1 个答案:

答案 0 :(得分:1)

我找到了解决问题的方法。

在定义环境的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安装将使用节点主机名(例如foo-0)使用DNS查找,并将结果用作节点名。在我们的案例中,我们取回了完全合格的域名,例如foo-0.bar.baz.com,然后将其用作节点名。