Registry addon - resizing the default 20GB capacity

I was wondering if anyone could advise me how to resize the built-in microk8s registry add-on’s capacity? It defaults to 20 GB and the project I am working on requires more.

I saw that in theory there is supported via CLI:


microk8s.enable registry:size=30Gi
But when I perform this command, the registry created has a PV and PVC of capacity 20 GB according to describe. I wonder if it could be because the above Pull Request contents have not been merged into the latest snap package yet? (There seems to be a CI build failure)

My microk8s version is as follows:

(thriai37) ben@ben-asus ~ $ snap info microk8s
name:      microk8s
summary:   Kubernetes for workstations and appliances
publisher: Canonical✓
store-url: https://snapcraft.io/microk8s
contact:   https://github.com/ubuntu/microk8s
license:   unset
description: |
  MicroK8s is a small, fast, secure, single node Kubernetes that installs on just about any Linux
  box. Use it for offline development, prototyping, testing, or use it on a VM as a small, cheap,
  reliable k8s for CI/CD. It's also a great k8s for appliances - develop your IoT apps for k8s and
  deploy them to MicroK8s on your boxes.
commands:
  - microk8s.add-node
  - microk8s.cilium
  - microk8s.config
  - microk8s.ctr
  - microk8s.disable
  - microk8s.enable
  - microk8s.helm
  - microk8s.helm3
  - microk8s.inspect
  - microk8s.istioctl
  - microk8s.join
  - microk8s.juju
  - microk8s.kubectl
  - microk8s.leave
  - microk8s.linkerd
  - microk8s
  - microk8s.refresh-certs
  - microk8s.remove-node
  - microk8s.reset
  - microk8s.start
  - microk8s.status
  - microk8s.stop
services:
  microk8s.daemon-apiserver:          simple, enabled, active
  microk8s.daemon-apiserver-kicker:   simple, enabled, active
  microk8s.daemon-cluster-agent:      simple, enabled, active
  microk8s.daemon-containerd:         simple, enabled, active
  microk8s.daemon-controller-manager: simple, enabled, active
  microk8s.daemon-etcd:               simple, enabled, active
  microk8s.daemon-flanneld:           simple, enabled, active
  microk8s.daemon-kubelet:            simple, enabled, active
  microk8s.daemon-proxy:              simple, enabled, active
  microk8s.daemon-scheduler:          simple, enabled, active
snap-id:      EaXqgt1lyCaxKaQCU349mlodBkDCXRcg
tracking:     1.18/stable
refresh-date: today at 10:16 JST
channels:
  1.18/stable:      v1.18.3         2020-05-29 (1422) 201MB classic
  1.18/candidate:   v1.18.3         2020-05-25 (1422) 201MB classic
  1.18/beta:        v1.18.3         2020-05-25 (1422) 201MB classic
  1.18/edge:        v1.18.3         2020-05-25 (1438) 201MB classic
  latest/stable:    v1.18.3         2020-06-09 (1443) 211MB classic
  latest/candidate: v1.18.3         2020-05-27 (1443) 211MB classic
  latest/beta:      v1.18.3         2020-05-27 (1443) 211MB classic
  latest/edge:      v1.18.3         2020-06-10 (1470) 211MB classic
  dqlite/stable:    –                                       
  dqlite/candidate: –                                       
  dqlite/beta:      –                                       
  dqlite/edge:      v1.16.2         2019-11-07 (1038) 189MB classic
  1.19/stable:      –                                       
  1.19/candidate:   –                                       
  1.19/beta:        v1.19.0-beta.1  2020-06-05 (1456) 214MB classic
  1.19/edge:        v1.19.0-alpha.3 2020-06-05 (1457) 210MB classic
  1.17/stable:      v1.17.5         2020-05-02 (1355) 179MB classic
  1.17/candidate:   v1.17.6         2020-05-28 (1437) 179MB classic
  1.17/beta:        v1.17.6         2020-05-28 (1437) 179MB classic
  1.17/edge:        v1.17.6         2020-05-25 (1437) 179MB classic
  1.16/stable:      v1.16.8         2020-03-27 (1302) 179MB classic
  1.16/candidate:   v1.16.8         2020-03-27 (1302) 179MB classic
  1.16/beta:        v1.16.8         2020-03-27 (1302) 179MB classic
  1.16/edge:        v1.16.8         2020-03-26 (1302) 179MB classic
  1.15/stable:      v1.15.11        2020-03-27 (1301) 171MB classic
  1.15/candidate:   v1.15.11        2020-03-27 (1301) 171MB classic
  1.15/beta:        v1.15.11        2020-03-27 (1301) 171MB classic
  1.15/edge:        v1.15.11        2020-03-26 (1301) 171MB classic
  1.14/stable:      v1.14.10        2020-01-06 (1120) 217MB classic
  1.14/candidate:   ↑                                       
  1.14/beta:        ↑                                       
  1.14/edge:        v1.14.10        2020-03-26 (1303) 217MB classic
  1.13/stable:      v1.13.6         2019-06-06  (581) 237MB classic
  1.13/candidate:   ↑                                       
  1.13/beta:        ↑                                       
  1.13/edge:        ↑                                       
  1.12/stable:      v1.12.9         2019-06-06  (612) 259MB classic
  1.12/candidate:   ↑                                       
  1.12/beta:        ↑                                       
  1.12/edge:        ↑                                       
  1.11/stable:      v1.11.10        2019-05-10  (557) 258MB classic
  1.11/candidate:   ↑                                       
  1.11/beta:        ↑                                       
  1.11/edge:        ↑                                       
  1.10/stable:      v1.10.13        2019-04-22  (546) 222MB classic
  1.10/candidate:   ↑                                       
  1.10/beta:        ↑                                       
  1.10/edge:        ↑                                       
installed:          v1.18.3                    (1422) 201MB classic

I noticed I can edit the PV YAML capacity directly:

kubectl get pvc -A
kubectl edit pv/pvc-ca1d720f-db31-4b26-8d08-afcd434c87ae

But unsure how edit the PVC YAML capacity:

(thriai37) ben@ben-asus ~ $ kubectl get pvc -A
NAMESPACE            NAME             STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS        AGE
container-registry   registry-claim   Bound    pvc-ca1d720f-db31-4b26-8d08-afcd434c87ae   20Gi       RWX            microk8s-hostpath   103m

Also unsure is doing this is advisable or is the incorrect approach?

Thank you any support,

Adding a link to a github issue asking the same question.

Could you please get MIcroK8s from the latest stable channel?

sudo snap install microk8s --classic --channel=latest/stable

Excellent thanks very much, seems we needed to update from v1.18.3 rev 1422 to v1.18.3 rev 1443 (sudo snap refresh --channel latest/stable microk8s)

(detector) ben@ben-asus /media/DATA/gym_ai/EntranceCounterLabelingTool/benchmarkalgorithms (develop) $ kubectl get pv -A 
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                               STORAGECLASS        REASON   AGE
pvc-83928ee7-d7ac-4d37-99e8-6425fbaf31bc   30Gi       RWX            Delete           Bound    container-registry/registry-claim   microk8s-hostpath            6m3s
(detector) ben@ben-asus /media/DATA/gym_ai/EntranceCounterLabelingTool/benchmarkalgorithms (develop) $ kubectl get pvc -A
NAMESPACE            NAME             STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS        AGE
container-registry   registry-claim   Bound    pvc-83928ee7-d7ac-4d37-99e8-6425fbaf31bc   30Gi       RWX            microk8s-hostpath   6m5s