Local-path-provisioner

Local Path Provisioner is deprecated for metakube-accelerator and will be replaced by another solution. While this provides dynamic provisioning for local storage volumes, Local Path Provisioner comes with a few limitations.

The source code and default configuration of the Building Block is available in our GitLab.

Adding the Building Block

Add the directory syseleven-local-path-provisioner to your control repository. Add a .gitlab-ci.yml to the directory with the following content:

include:
  - project: syseleven/building-blocks/helmfiles/local-path-provisioner
    file: JobDevelopment.yaml
    ref: 1.4.2
  - project: syseleven/building-blocks/helmfiles/local-path-provisioner
    file: JobStaging.yaml
    ref: 1.4.2
  - project: syseleven/building-blocks/helmfiles/local-path-provisioner
    file: JobProduction.yaml
    ref: 1.4.2

Remove environments you are not using by removing their include.

Required configuration

No confguration is required.

Usage

Node deployment

This example assumes that you have another node deployment without taints and you want to deploy pxc-operator. If you haven't, please ensure that the PCX operator and the local-path provisioner have matching taints as well.

  1. Create a deployment with the following configuration:
    1. Select a local storage flavor
      1. Replica count depending on your database cluster requirements (we recommend at least 3)
      2. Node labels
        • Key: pxc-cluster
        • Value: true
      3. Node taints
        • Key: pxc-cluster
        • Value: true
        • Effect: NoSchedule
  2. Deploy the local storage provisioner

PVC deployment

Local Path Provisioner will create storageClass local-path that can be used for creating PVCs. See Usage for examples.

Monitoring

Additional alertrules

  • None

Additional Grafana dashboards

  • None

Limitations

  • No support for the volume capacity limit
    • No volume quotas - PV will always be the size to the entire disk
    • The underlying VM will break when you hit 100% usage
    • Pods may get evicted from the VM and will loose data in the process (because the data is only local to the VM)
    • No resizing
    • Data is not automatically migrated to other VMs