Configuration
Cluster Request for Deckfile
Usage
This section is about specifying a Beiboot cluster from a client using the Deckfile specification.
The available parameters are currently very limited. They are placed below the nativeConfig
key in a Deckfile.
Important: this API and configuration definition is not yet stable and may change at any time.
context
Valid string values for the context
attribute are: the name of a
kubeconfig cluster context.
This is the kubeconfig context which is either active in your current shell (by setting export KUBECONFIG=<path>/<file>.yaml
)
or part of your default kubeconfig in ~/.kube/config
.
The deck
CLI will look for that context and activate it for all operations. It will return an error if the specified
context can not be found.
timeouts
You can specify the timeouts for the creation of the cluster and the Kubernetes API connection. Both values come with reasonable defaults:
timeouts:
api: 30 # in seconds, defaults to 30
cluster: 180 # in seconds, defaults to 180
ports
Valid list values for the ports
attribute are: a port
-object defining a port-mapping.
The port: <local port>:<cluster node port>
definition allows to specify a port-mapping from a local port to a
remote port in the cluster. This is useful to make services running in the cluster available on localhost.
Example cluster
Configuration in a Deckfile
[...]
cluster:
provider: beiboot
name: cluster-1
nativeConfig:
context: <context-to-host-cluster-running-beiboot>
timeouts:
api: 30 # in seconds, defaults to 30
cluster: 180 # in seconds, defaults to 180
ports:
- port: 61346:80
[...]
Beiboot Cluster Configuration
Editing the Cluster Configuration
The Beiboot operator creates a ConfigMap in its namespace called beiboot-congfig
. This configmap contains
all available configuration parameters to run logical Kubernetes clusters. You can edit the configuration with:
kubectl -n getdeck edit cm beiboot-config
The operator reads in this configmap upon each cluster creation. Changes to the configmap are immediately effective for new clusters.
Default Configuration Values
apiVersion: v1
kind: ConfigMap
metadata:
name: beiboot-config
namespace: getdeck
data:
data:
clusterReadyTimeout: "180"
gefyra: '{"enabled": true, "endpoint": null}'
k8sVersion: "null"
maxLifetime: "null"
maxSessionTimeout: "null"
namespacePrefix: getdeck-bbt
nodeLabels: '{"app": "beiboot", "beiboot.dev/is-node": "true"}'
nodeResources: '{"requests": {"cpu": "1", "memory": "1Gi"}, "limits": {}}'
nodeStorageRequests: 1Gi
nodes: "1"
ports: "null"
serverLabels: '{"app": "beiboot", "beiboot.dev/is-node": "true", "beiboot.dev/is-server":
"true"}'
serverResources: '{"requests": {"cpu": "1", "memory": "1Gi"}, "limits": {}}'
serverStartupTimeout: "60"
serverStorageRequests: 1Gi
shelfStorageClass: standard-rwo
storageClass: standard-rwo
tunnel: '{"enabled": true, "endpoint": null}'