mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-12-12 14:17:46 +00:00
Merge remote-tracking branch 'origin/master' into nightly
This commit is contained in:
commit
ede972a1da
@ -17,6 +17,7 @@ Every user-facing change should have an entry in this changelog. Please respect
|
||||
-->
|
||||
|
||||
## Unreleased
|
||||
- [Improvement] Make it possible to override k8s resources in plugins using `k8s-override` patch. (by @foadlind)
|
||||
|
||||
## v14.0.2 (2022-06-27)
|
||||
|
||||
|
27
docs/k8s.rst
27
docs/k8s.rst
@ -140,3 +140,30 @@ Updating docker images
|
||||
Kubernetes does not provide a single command for updating docker images out of the box. A `commonly used trick <https://github.com/kubernetes/kubernetes/issues/33664>`__ is to modify an innocuous label on all resources::
|
||||
|
||||
kubectl patch -k "$(tutor config printroot)/env" --patch "{\"spec\": {\"template\": {\"metadata\": {\"labels\": {\"date\": \"`date +'%Y%m%d-%H%M%S'`\"}}}}}"
|
||||
|
||||
|
||||
.. _customizing_kubernetes_sources:
|
||||
|
||||
Customizing Kubernetes resources
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Plugins can customize any Kubernetes resource in Tutor by overriding the definition of the resource with a :patch:`k8s-override` patch. For example, to change the volume size for MongoDB from ``5Gi`` to ``10Gi``, add the following to the plugin:
|
||||
|
||||
::
|
||||
|
||||
# myplugin/tutormyplugin/patches/k8s-override
|
||||
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: mongodb
|
||||
labels:
|
||||
app.kubernetes.io/component: volume
|
||||
app.kubernetes.io/name: mongodb
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
|
||||
|
@ -90,6 +90,15 @@ File: ``k8s/deployments.yml``
|
||||
|
||||
File: ``k8s/jobs.yml``
|
||||
|
||||
.. patch:: k8s-override
|
||||
|
||||
``k8s-override``
|
||||
================
|
||||
|
||||
File: ``k8s/override.yml``
|
||||
|
||||
Any Kubernetes resource definition in this patch will override the resource defined by Tutor, provided that their names match. See :ref:`Customizing Kubernetes resources <customizing_kubernetes_sources>` for an example.
|
||||
|
||||
.. patch:: k8s-services
|
||||
|
||||
``k8s-services``
|
||||
@ -125,6 +134,15 @@ File: ``kustomization.yml``
|
||||
|
||||
File: ``kustomization.yml``
|
||||
|
||||
.. patch:: kustomization-patches-strategic-merge
|
||||
|
||||
``kustomization-patches-strategic-merge``
|
||||
=========================================
|
||||
|
||||
File: ``kustomization.yml``
|
||||
|
||||
This can be used to add more Kustomization patches that make use of the `strategic merge mechanism <https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/#customizing>`__.
|
||||
|
||||
.. patch:: kustomization-resources
|
||||
|
||||
``kustomization-resources``
|
||||
|
1
tutor/templates/k8s/override.yml
Normal file
1
tutor/templates/k8s/override.yml
Normal file
@ -0,0 +1 @@
|
||||
{{ patch("k8s-override") }}
|
@ -59,4 +59,8 @@ configMapGenerator:
|
||||
app.kubernetes.io/name: redis
|
||||
{{ patch("kustomization-configmapgenerator") }}
|
||||
|
||||
patchesStrategicMerge:
|
||||
- k8s/override.yml
|
||||
{{ patch("kustomization-patches-strategic-merge") }}
|
||||
|
||||
{{ patch("kustomization") }}
|
||||
|
Loading…
Reference in New Issue
Block a user