--- apiVersion: v1 kind: Namespace metadata: name: container-registry --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: registry-claim namespace: container-registry spec: accessModes: - ReadWriteOnce volumeMode: Filesystem resources: requests: storage: 1G --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: registry name: registry namespace: container-registry spec: replicas: 1 selector: matchLabels: app: registry template: metadata: labels: app: registry spec: containers: - name: registry image: registry:2.8.3 env: - name: REGISTRY_HTTP_ADDR value: :5000 - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY value: /var/lib/registry - name: REGISTRY_STORAGE_DELETE_ENABLED value: "yes" ports: - containerPort: 5000 name: registry protocol: TCP volumeMounts: - mountPath: /var/lib/registry name: registry-data volumes: - name: registry-data persistentVolumeClaim: claimName: registry-claim --- apiVersion: v1 kind: Service metadata: labels: app: registry name: registry namespace: container-registry spec: type: NodePort selector: app: registry ports: - name: "registry" port: 5000 targetPort: 5000 nodePort: 32000 --- # https://github.com/kubernetes/enhancements/issues/1755 apiVersion: v1 kind: ConfigMap metadata: name: local-registry-hosting namespace: kube-public data: localRegistryHosting.v1: | help: "https://microk8s.io/docs/registry-built-in" host: "localhost:32000"