You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/manual/getting_started.md
+12-4Lines changed: 12 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,13 +56,15 @@ processes in the cluster. In this example, each volume will be 128 GB.
56
56
By default each pod will have two containers and one init container.
57
57
The `foundationdb` container will run `fdbmonitor` and `fdbserver`, and is the main container for the pod. The `foundationdb-kubernetes-sidecar` container will run a sidecar image designed to help run FDB on Kubernetes.
58
58
It is responsible for managing the `fdbmonitor` conf files and providing FDB binaries to the `foundationdb` container.
59
-
The operator will create a config map that contains a template for the monitor conf file, and the sidecar will interpolate instance-specific fields into the conf and make it available to the fdbmonitor process through a shared volume.
60
-
The "Upgrading a Cluster" has more detail on we manage binaries.
59
+
The operator will create a `ConfigMap` that contains a template for the monitor conf file, and the sidecar will interpolate instance-specific fields into the conf and make it available to the `fdbmonitor` process through a shared volume.
60
+
The [Upgrading a Cluster](upgrades.md) has more detail on we manage binaries.
61
61
The init container will run the same sidecar image, and will ensure that the initial binaries and dynamic conf are ready before the `fdbmonitor` process starts.
62
62
63
63
## Accessing a Cluster
64
64
65
-
Now that your cluster is deployed, you can easily access the cluster. As an example, we are going to deploy a [Kubernetes Job](https://kubernetes.io/docs/tasks/job/) that will check the status of the cluster every minute. The `cluster file` is available through the exposed `config map` that can be mounted as follows:
65
+
Now that your cluster is deployed, you can easily access the cluster.
66
+
As an example, we are going to deploy a [Kubernetes Job](https://kubernetes.io/docs/tasks/job/) that will check the status of the cluster every minute.
67
+
The `cluster file` is available through the exposed `ConfigMap` that can be used as follows:
66
68
67
69
```yaml
68
70
apiVersion: batch/v1
@@ -77,14 +79,20 @@ spec:
77
79
spec:
78
80
restartPolicy: OnFailure
79
81
initContainers:
82
+
# See the note below this example. The cluster file is copied to a place where the application
83
+
# can write too. This ensures that long-running applications will keep the cluster-file updated
# Make sure the sidecar exits when the file is not empty and was successfully copied.
83
89
- --init-mode
84
90
- --input-dir
85
91
- /mnt/config-volume
92
+
# Only copy the cluster-file that is provided by the ConfigMap
86
93
- --copy-file
87
94
- cluster-file
95
+
# Make sure the cluster-file is not empty.
88
96
- --require-not-empty
89
97
- cluster-file
90
98
volumeMounts:
@@ -116,7 +124,7 @@ spec:
116
124
117
125
Note that:
118
126
119
-
* The name of the config map will depend on the name of your cluster.
127
+
* The name of the `ConfigMap` will depend on the name of your cluster.
120
128
* For long-running applications you should ensure that your cluster file is writeable by your application. You can achieve this by using the init container and copying the cluster-file inside a shared `emptyDir`.
0 commit comments