Я пытаюсь настроить контейнер kubernetes / docker (используя Minikube) с помощью glusterfs том смонтирован, но каждый раз, когда я пытаюсь запустить службу / поды, я получаю в журналах ошибок «mount: unknown filesystem type 'glusterfs'».
Однако, когда я запускаю контейнер без настройки томов в конфигурации kubernetes, добавьте запись для сервера в / etc / hosts, создать точку монтирования, а затем смонтировать ее вручную, все работает нормально. Кроме того, постоянный том отображается, как заявлено, несмотря на ошибку.
Statefulset
---
apiVersion: v1
kind: Service
metadata:
name: backend-development
labels:
app: backend-development
spec:
ports:
- port: 80
name: web
clusterIP: None
selector:
app: backend-development
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: backend-development
spec:
serviceName: "backend-development"
replicas: 3
template:
metadata:
labels:
app: backend-development
spec:
terminationGracePeriodSeconds: 10
containers:
- name: backend-development
image: mount-test-gluster
imagePullPolicy: Never
ports:
- containerPort: 80
name: web
securityContext:
privileged: true
volumeMounts:
- name: certificates-storage
mountPath: /etc/secrets
volumeClaimTemplates:
- metadata:
name: certificates-storage
annotations:
volume.beta.kubernetes.io/storage-class: gluster-standard
spec:
accessModes: [ "ReadWriteMany" ]
resources:
requests:
storage: 20Mi
Конечная точка Gluster:
apiVersion: v1
kind: Endpoints
metadata:
name: gluster-cluster
subsets:
- addresses:
- ip: 10.108.162.33
ports:
- port: 1 # port number is ignored, but must be legal
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: gluster-cluster
spec:
ports:
- port: 1 # port number is ignored but must be legal
Класс хранилища Gluster:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: gluster-standard
provisioner: kubernetes.io/glusterfs
parameters:
endpoint: "gluster-cluster"
resturl: "http://10.108.162.33:8081"
Конфигурация PersistentVolume:
apiVersion: v1
kind: PersistentVolume
metadata:
name: certificates-storage
spec:
capacity:
storage: 20Mi
accessModes:
- ReadWriteMany
glusterfs:
endpoints: gluster-cluster
path: /certificates-volume
readOnly: false
persistentVolumeReclaimPolicy: Retain
storageClassName: gluster-standard
Dockerfile для mount-test-gluster:
FROM debian:stretch
MAINTAINER me@example.org
RUN apt update && apt upgrade -y && apt install -y nginx wget gnupg2 apt-transport-https
COPY glusterfs-client-install.sh /opt/
RUN /opt/glusterfs-client-install.sh
CMD ["nginx", "-g", "daemon off;"]
glusterfs-client-install.sh
#!/bin/bash
GLUSTER_VERSION='3.10'
wget -O - http://download.gluster.org/pub/gluster/glusterfs/${GLUSTER_VERSION}/rsa.pub | apt-key add -
echo deb http://download.gluster.org/pub/gluster/glusterfs/3.10/LATEST/Debian/stretch/apt stretch main > /etc/apt/sources.list.d/gluster.list
apt update && apt install -y glusterfs-client
По состоянию на конец 2016 года это известная проблема. Похоже, что была предпринята попытка исправить, но оно не было выпущено, что означает, что оно содержит ошибки. Возможно, вам придется некоторое время продолжать монтировать его вручную.
Вы можете отслеживать эту ошибку здесь: https://github.com/rancher/rancher/issues/4348