Installing DataCore Puls8 on MicroK8s

Explore this Page

Overview

This document provides detailed instructions for deploying the DataCore Puls8 on a MicroK8s Kubernetes cluster. It outlines the necessary prerequisites, Helm installation commands, and resolution for a known networking issue related to Calico VXLAN. It provides high-availability, replicated block storage suitable for enterprise-grade workloads, while the default installation also includes Local PV options such as Local PV Hostpath, Local PV LVM, and Local PV ZFS.

Requirements

Ensure that your MicroK8s cluster is set up and operational. Refer to the DataCore Puls8 Prerequisites documentation for steps to prepare the cluster environment.

Install DataCore Puls8 on MicroK8s

Install DataCore Puls8 with Mayastor using Helm. This command ensures the correct kubeletDir paths are set for compatibility with MicroK8s.

Copy
Helm Installation Command
helm install openebs openebs/openebs -n openebs --create-namespace \ 
  --set mayastor.csi.node.kubeletDir="/var/snap/microk8s/common/var/lib/kubelet" \
  --set lvm-localpv.lvmNode.kubeletDir="/var/snap/microk8s/common/var/lib/kubelet" \
  --set zfs-localpv.zfsNode.kubeletDir="/var/snap/microk8s/common/var/lib/kubelet"
Copy
Sample Output
NAME: openebs
LAST DEPLOYED: Wed Apr 17 14:35:22 2025
NAMESPACE: openebs
STATUS: deployed
REVISION: 1
NOTES:
Successfully installed OpenEBS.

Verify Installation

Use the following command to verify that all pods are running:

Copy
Check the Status of DataCore Puls8 Components
kubectl get pods -n openebs
  • This installation includes both Local PV and Replicated PV components by default.
  • Local PV provides non-replicated storage using Local PV Hostpath, Local PV LVM, and Local PV ZFS.
  • Replicated PV Mayastor offers high-availability, replicated storage but requires additional configuration for full functionality.

Refer to the Configuring DataCore Puls8 section for comprehensive configuration steps (Example: Setting up storage pools, Storage classes, PVCs, and Applications).

Resolving a Known Issue with Calico VXLAN on MicroK8s

During installation, Pods using the hostNetwork setting may remain stuck in the Init phase due to a known Calico VXLAN issue. This typically occurs when the mayastor-agent Pods cannot resolve internal service addresses.

Copy
Example Error Logs
kubectl logs -f mayastor-agent-ha-node-ljxdt -n mayastor -c agent-cluster-grpc-probe
nc: bad address 'mayastor-agent-core'
Fri May 11 05:18:41 UTC 2025
Waiting for agent-cluster-grpc services...
nc: bad address 'mayastor-agent-core'
Fri May 11 05:19:02 UTC 2025
Waiting for agent-cluster-grpc services...
nc: bad address 'mayastor-agent-core'
Fri May 11 05:19:23 UTC 2025
Waiting for agent-cluster-grpc services...
nc: bad address 'mayastor-agent-core'
Fri May 11 05:19:44 UTC 2025
Waiting for agent-cluster-grpc services...
nc: bad address 'mayastor-agent-core'
Fri May 11 05:20:05 UTC 2025

Apply the following patch to override Calico's feature detection settings.

Copy
Resolution Command
microk8s kubectl patch felixconfigurations default --patch '{"spec":{"featureDetectOverride":"ChecksumOffloadBroken=true"}}' --type=merge

Benefits of Using DataCore Puls8 with MicroK8s

  • Lightweight and Edge-Ready: MicroK8s is well-suited for edge, development, and test environments. DataCore Puls8 complements this by providing enterprise-grade storage capabilities within a small operational footprint.
  • Data Protection and Consistency: With synchronous replication and support for volume snapshots and cloning, DataCore Puls8 enhances data protection and enables point-in-time recovery strategies.
  • High Availability and Resilience: DataCore Puls8 ensures data is automatically replicated across multiple nodes. If a node fails, workloads continue seamlessly on another node without data loss or disruption.

Learn More