Configuring ephemeral storage
OKD can be configured to allow management of ephemeral storage of pod and container working data. While containers have been able to utilize writable layers, logs directories, and EmptyDir volumes, this storage has been subject to a number of limitations, as discussed here.
Ephemeral storage management permits administrators to limit the resources consumed by individual pods and containers, and for pods and containers to specify requests and limits on their use of such ephemeral storage. This is a technology preview and is disabled by default.
This technology preview does not change any of the mechanisms for making local storage available in OKD; the existing mechanisms, root directory or runtime directory, still apply. This technology preview only provides a mechanism for managing the use of this resource.
To enable ephemeral storage:
Edit or create the master configuration file on all masters, /etc/origin/master/master-config.yaml by default, and add
apiServerArguments: feature-gates: - LocalStorageCapacityIsolation=true ... controllerArguments: feature-gates: - LocalStorageCapacityIsolation=true ...
Edit the ConfigMap for all nodes to enable the LocalStorageCapacityIsolation on the command line. You can identify the ConfigMaps that need to be edited as follows:
$ oc get cm -n openshift-node NAME DATA AGE node-config-compute 1 52m node-config-infra 1 52m node-config-master 1 52m
For each of these maps,
node-config-master, you need to add the feature gate:
oc edit cm node-config-master -n openshift-node
If there is already a
feature-gates:declaration, add the following text to the list of feature gates:
If there is no
feature-gates:declaration, add the following section:
feature-gates: - LocalStorageCapacityIsolation=true
node-config-infra, and any other ConfigMaps.
Restart OKD and delete the container running the apiserver.
Omitting any of these steps may result in ephemeral storage management not being enabled.