Search code examples
kubernetesopenshiftopenshift-originokd

openshift_logging_es_nodeselector install EFK on infra nodes


I am trying to install EFK on my cluster and am having problems. here is my node description snip (okd 3.11)

metadata:
  name: okdmastertest.labtest.mycomapny.com
  selfLink: /api/v1/nodes/okdmastertest.labtest.mycomapny.com
  uid: 43905e07-7277-11e9-9beb-005056006301
  resourceVersion: '9193192'
  creationTimestamp: '2019-05-09T16:26:57Z'
  labels:
    beta.kubernetes.io/arch: amd64
    beta.kubernetes.io/os: linux
    kubernetes.io/hostname: okdmastertest.labtest.mycomapny.com
    node-role.kubernetes.io/infra: 'true'
    node-role.kubernetes.io/master: 'true'
  annotations:
    node.openshift.io/md5sum: a4305b3db4427b8d4bd21c1a11115c5d
    volumes.kubernetes.io/controller-managed-attach-detach: 'true'

in my inventory file, i have these variables

all:
  children:
    etcd:
      hosts:
        okdmastertest.labtest.mycomapny.com:
    masters:
      hosts:
        okdmastertest.labtest.mycomapny.com:
    nodes:
      hosts:
        okdmastertest.labtest.mycomapny.com:
          openshift_node_group_name: node-config-master-infra
        okdnodetest1.labtest.mycomapny.com:
          openshift_node_group_name: node-config-compute
          openshift_schedulable: True
  OSEv3:
    children:
      etcd:
      masters:
      nodes:
    vars:
      {bla bla bla}
      openshift_logging_install_logging: true
      openshift_logging_es_nodeselector: 
        node-type: infra

but the error i keep getting when i run the logging playbook is

fatal: [okdmastertest.labtest.mycompany.com]: FAILED! => {
    "assertion": false,
    "changed": false,
    "evaluated_to": false,
    "msg": "No schedulable nodes found matching node selector for Elasticsearch - 'node-type=infra'"
}

whats the correct syntax for the node selector to get this thing to put elasticsearch on the infrastructure nodes?


Solution

  • As you are using this label node-role.kubernetes.io/infra: 'true' on the infra nodes and there is no labels on the nodes node-type=infra

    so your vars need to be like this openshift_logging_es_nodeselector={"node-role.kubernetes.io/infra": "true"}