Update registry template (#8198)

* Add registry replica setting

* Add registry liveness and readiness probe

* Set the security context for registry

* Add registry pvc access mode option

* registry add replica requirement check

* docs: add registry replicas setting note

* Update docs/kubernetes-apps/registry.md

Co-authored-by: Cristian Calin <6627509+cristicalin@users.noreply.github.com>

Co-authored-by: Cristian Calin <6627509+cristicalin@users.noreply.github.com>
This commit is contained in:
zhengtianbao 2021-11-22 04:45:09 -06:00 committed by GitHub
parent a6fcf2e066
commit e35a87e3eb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 1 deletions

View file

@ -140,6 +140,8 @@ spec:
``` ```
<!-- END MUNGE: EXAMPLE registry-rc.yaml --> <!-- END MUNGE: EXAMPLE registry-rc.yaml -->
*Note:* that if you have set multiple replicas, make sure your CSI driver has support for the `ReadWriteMany` accessMode.
## Expose the registry in the cluster ## Expose the registry in the cluster
Now that we have a registry `Pod` running, we can expose it as a Service: Now that we have a registry `Pod` running, we can expose it as a Service:

View file

@ -1,5 +1,7 @@
--- ---
registry_namespace: "kube-system" registry_namespace: "kube-system"
registry_storage_class: "" registry_storage_class: ""
registry_storage_access_mode: "ReadWriteOnce"
registry_disk_size: "10Gi" registry_disk_size: "10Gi"
registry_port: 5000 registry_port: 5000
registry_replica_count: 1

View file

@ -8,7 +8,7 @@ metadata:
addonmanager.kubernetes.io/mode: Reconcile addonmanager.kubernetes.io/mode: Reconcile
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - {{ registry_storage_access_mode }}
storageClassName: {{ registry_storage_class }} storageClassName: {{ registry_storage_class }}
resources: resources:
requests: requests:

View file

@ -9,7 +9,11 @@ metadata:
version: v{{ registry_image_tag }} version: v{{ registry_image_tag }}
addonmanager.kubernetes.io/mode: Reconcile addonmanager.kubernetes.io/mode: Reconcile
spec: spec:
{% if registry_storage_class != "" and registry_storage_access_mode == "ReadWriteMany" %}
replicas: {{ registry_replica_count }}
{% else %}
replicas: 1 replicas: 1
{% endif %}
selector: selector:
matchLabels: matchLabels:
k8s-app: registry k8s-app: registry
@ -22,6 +26,9 @@ spec:
spec: spec:
priorityClassName: {% if registry_namespace == 'kube-system' %}system-cluster-critical{% else %}k8s-cluster-critical{% endif %}{{''}} priorityClassName: {% if registry_namespace == 'kube-system' %}system-cluster-critical{% else %}k8s-cluster-critical{% endif %}{{''}}
serviceAccountName: registry serviceAccountName: registry
securityContext:
fsGroup: 1000
runAsUser: 1000
containers: containers:
- name: registry - name: registry
image: {{ registry_image_repo }}:{{ registry_image_tag }} image: {{ registry_image_repo }}:{{ registry_image_tag }}
@ -38,6 +45,14 @@ spec:
- containerPort: {{ registry_port }} - containerPort: {{ registry_port }}
name: registry name: registry
protocol: TCP protocol: TCP
livenessProbe:
httpGet:
path: /
port: {{ registry_port }}
readinessProbe:
httpGet:
path: /
port: {{ registry_port }}
volumes: volumes:
- name: registry-pvc - name: registry-pvc
{% if registry_storage_class != "" %} {% if registry_storage_class != "" %}