mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-12-12 22:27:47 +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
|
## Unreleased
|
||||||
|
- [Improvement] Make it possible to override k8s resources in plugins using `k8s-override` patch. (by @foadlind)
|
||||||
|
|
||||||
## v14.0.2 (2022-06-27)
|
## 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::
|
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'`\"}}}}}"
|
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``
|
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
|
.. patch:: k8s-services
|
||||||
|
|
||||||
``k8s-services``
|
``k8s-services``
|
||||||
@ -125,6 +134,15 @@ File: ``kustomization.yml``
|
|||||||
|
|
||||||
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
|
.. patch:: kustomization-resources
|
||||||
|
|
||||||
``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
|
app.kubernetes.io/name: redis
|
||||||
{{ patch("kustomization-configmapgenerator") }}
|
{{ patch("kustomization-configmapgenerator") }}
|
||||||
|
|
||||||
|
patchesStrategicMerge:
|
||||||
|
- k8s/override.yml
|
||||||
|
{{ patch("kustomization-patches-strategic-merge") }}
|
||||||
|
|
||||||
{{ patch("kustomization") }}
|
{{ patch("kustomization") }}
|
||||||
|
Loading…
Reference in New Issue
Block a user