mirror of https://github.com/k3s-io/k3s
47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
![]() |
## Glusterfs
|
||
|
|
||
|
[Glusterfs](http://www.gluster.org) is an open source scale-out filesystem. These examples provide information about how to allow containers use Glusterfs volumes.
|
||
|
|
||
|
The example assumes that the Glusterfs client package is installed on all nodes.
|
||
|
|
||
|
### Prerequisites
|
||
|
|
||
|
Install Glusterfs client package on the Kubernetes hosts.
|
||
|
|
||
|
### Create a POD
|
||
|
|
||
|
The following *volume* spec illustrates a sample configuration.
|
||
|
|
||
|
```js
|
||
|
{
|
||
|
"name": "glusterfsvol",
|
||
|
"glusterfs": {
|
||
|
"endpoints": "glusterfs-cluster",
|
||
|
"path": "kube_vol",
|
||
|
"readOnly": true
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
The parameters are explained as the followings.
|
||
|
|
||
|
- **endpoints** is endpoints name that represents a Gluster cluster configuration. *kubelet* is optimized to avoid mount storm, it will randomly pick one from the endpoints to mount. If this host is unresponsive, the next Gluster host in the endpoints is automatically selected.
|
||
|
- **path** is the Glusterfs volume name.
|
||
|
- **readOnly** is the boolean that sets the mountpoint readOnly or readWrite.
|
||
|
|
||
|
Detailed POD and Gluster cluster endpoints examples can be found at [v1beta3/](v1beta3/) and [endpoints/](endpoints/)
|
||
|
|
||
|
```shell
|
||
|
# create gluster cluster endpoints
|
||
|
$ kubectl create -f examples/glusterfs/endpoints/glusterfs-endpoints.json
|
||
|
# create a container using gluster volume
|
||
|
$ kubectl create -f examples/glusterfs/v1beta3/glusterfs.json
|
||
|
```
|
||
|
Once that's up you can list the pods and endpoint in the cluster, to verify that the master is running:
|
||
|
|
||
|
```shell
|
||
|
$ kubectl get endpoints
|
||
|
$ kubectl get pods
|
||
|
```
|
||
|
|
||
|
If you ssh to that machine, you can run `docker ps` to see the actual pod and `mount` to see if the Glusterfs volume is mounted.
|