Kubernetes Bare Metal Deployments with Kublr

Deploy Kubernetes on bare metal with Kublr

To install Kublr on bare metal, the local file system host OS (hostPath) is used to store persistent data. You can override the storage location through Kublr’s custom specification.

Kublr components storage locations

Component NameNode TypeDefault Storage PathOwner UIDMinimum Disk Size
ETCDmaster/mnt/master-pd04G
Elasticsearch data nodenode/var/lib/kublr/elasticserach/data1000128G
Elasticsearch master nodenode/var/lib/kublr/elasticserach/master10004G
Grafananode/var/lib/kublr/grafana 01G
MongoDBnode/var/lib/kublr/mongodb10018G
MySQL DBnode/var/lib/kublr/mysql9998G
Prometheusnode/var/lib/kublr/prometheus025G
RabbitMQnode/var/lib/kublr/rabbitmq9993G
Component NamehostPathowner UIDminimum size

Kublr components storage path overrides

Kublr controlplane

  1. /mnt/master-pd - ETCD storage on master node owner UID: 0, size: 10G

    spec:
      master:
        kublrAgentConfig:
          etcd_storage:
            path: /data/etcd
  2. /var/lib/mongodb-data - MongoDB data owner UID: 1001, size: 8G

    spec:
      controlPlane:
        values:
          app-mongodb:
            localStorage:
              enabled: true
              nodeName: node-1.kcp.local
              hostPath: /data/MongoDB

    Kublr Monitoring

  3. /var/lib/kublr/prometheus - Prometheus RAW DB owner UID: 0, size: 25G

    spec:
      features:
        monitoring:
          prometheus:
            nodeName: node-0.kcp.local
            persistence:
              hostPath: /data/prometheus
  4. /var/lib/kublr/grafana - Grafana storage owner UID: 0, size: 1G

   spec:
     features:
       monitoring:
         grafana:
           nodeName: node-1.kcp.local
           persistence:
             hostPath: /data/grafana

Kublr Logging

  1. /var/lib/kublr/elasticsearch/data - Elasticsearch data nodes owner UID: 1000, size: 128G
   spec:
     features:
       logging:
         values:
           elasticsearch:
             data:
               persistence:
                 hostPath: /data/elk-data
  1. /var/lib/kublr/elasticsearch/master - Elasticsearch master nodes data owner UID: 1000, size: 4G
   spec:
     features:
       logging:
         values:
           elasticsearch:
             master:
               persistence:
                 hostPath: /data/elk-master
  1. /var/lib/kublr/rabbitmq - RabbitMQ data dir owner UID: 999, size: 3G

yaml spec: features: logging: values: rabbitmq: persistentVolume: hostPath: /data/rabbitmq nodeName: node-0.kcp.local