Document volumeStorageMedium and volumeSizeLimit (#700)
Related to #674
This commit is contained in:
parent
f17edd500b
commit
29260549fa
16
README.md
16
README.md
|
|
@ -830,6 +830,18 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /home/runner/work/repo
|
- mountPath: /home/runner/work/repo
|
||||||
name: repo
|
name: repo
|
||||||
|
# Optional storage medium type of runner volume mount.
|
||||||
|
# More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir
|
||||||
|
# "" (default) = Node's default medium
|
||||||
|
# Memory = RAM-backed filesystem (tmpfs)
|
||||||
|
# NOTE: Using RAM-backed filesystem gives you fastest possible storage on your host nodes.
|
||||||
|
volumeStorageMedium: ""
|
||||||
|
# Total amount of local storage resources required for runner volume mount.
|
||||||
|
# The default limit is undefined.
|
||||||
|
# NOTE: You can make sure that nodes' resources are never exceeded by limiting used storage size per runner pod.
|
||||||
|
# You can even disable the runner mount completely by setting limit to zero if dockerdWithinRunnerContainer = true.
|
||||||
|
# Please see https://github.com/actions-runner-controller/actions-runner-controller/pull/674 for more information.
|
||||||
|
volumeSizeLimit: 4Gi
|
||||||
# Optional name of the container runtime configuration that should be used for pods.
|
# Optional name of the container runtime configuration that should be used for pods.
|
||||||
# This must match the name of a RuntimeClass resource available on the cluster.
|
# This must match the name of a RuntimeClass resource available on the cluster.
|
||||||
# More info: https://kubernetes.io/docs/concepts/containers/runtime-class
|
# More info: https://kubernetes.io/docs/concepts/containers/runtime-class
|
||||||
|
|
@ -959,7 +971,7 @@ spec:
|
||||||
app: example
|
app: example
|
||||||
```
|
```
|
||||||
|
|
||||||
As it is based on `StatefulSet`, `selector` and `template.medatada.labels` needs to be defined and haev the exact same set of labels. `serviceName` must be set to some non-empty string as it is also required by `StatefulSet`.
|
As it is based on `StatefulSet`, `selector` and `template.medatada.labels` needs to be defined and have the exact same set of labels. `serviceName` must be set to some non-empty string as it is also required by `StatefulSet`.
|
||||||
|
|
||||||
Runner-related fields like `ephemeral`, `repository`, `organization`, `enterprise`, and so on should be written directly under `spec`.
|
Runner-related fields like `ephemeral`, `repository`, `organization`, `enterprise`, and so on should be written directly under `spec`.
|
||||||
|
|
||||||
|
|
@ -1016,7 +1028,7 @@ You can also read the design and usage documentation written in the original pul
|
||||||
|
|
||||||
https://github.com/actions-runner-controller/actions-runner-controller/pull/629
|
https://github.com/actions-runner-controller/actions-runner-controller/pull/629
|
||||||
|
|
||||||
Under the hood, `RunnerSet` relies on Kubernetes's `StatefulSet` and Mutating Webhook. A statefulset is used to create a number of pods that has stable names and dynamically provisioned persistent volumes, so that each statefulset-managed pod gets the same persisntet volume even after restarting. A mutating webhook is used to dynamically inject a runner's "registration token" which is used to call GitHub's "Create Runner" API.
|
Under the hood, `RunnerSet` relies on Kubernetes's `StatefulSet` and Mutating Webhook. A statefulset is used to create a number of pods that has stable names and dynamically provisioned persistent volumes, so that each statefulset-managed pod gets the same persistent volume even after restarting. A mutating webhook is used to dynamically inject a runner's "registration token" which is used to call GitHub's "Create Runner" API.
|
||||||
|
|
||||||
We envision that `RunnerSet` will eventually replace `RunnerDeployment`, as `RunnerSet` provides a more standard API that is easy to learn and use because it is based on `StatefulSet`, and it has a support for `volumeClaimTemplates` which is crucial to manage dynamically provisioned persistent volumes.
|
We envision that `RunnerSet` will eventually replace `RunnerDeployment`, as `RunnerSet` provides a more standard API that is easy to learn and use because it is based on `StatefulSet`, and it has a support for `volumeClaimTemplates` which is crucial to manage dynamically provisioned persistent volumes.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue