Многодисковый доступ для узлов Kubernetes - PullRequest
0 голосов
/ 14 мая 2018

Итак, прости меня.Я только начал изучать docker и kubernets месяц назад.

Я дошел до того, что у меня есть файл .yml, который берет мой сервер Minecraft и запускает его.Теперь я хочу доступ по FTP.В настоящее время есть диск для папки world и папка config для сервера (поскольку я не могу поместить весь каталог на подключенный диск (верно?), И эти две папки необходимо сохранять каждый раз, когда образ перестраивается).

Итак, я хочу иметь возможность доступа / конфигурации.Желательно, пока узел майнкрафт все еще читает и пишет.Несколько вопросов здесь.

  1. Как сделать максимально возможный образ FTP при создании файла Docker для него?Я не могу понять сценарий.Лучшее, что у меня есть, это базовый образ на python: alpine и использование чего-то вроде this
  2. Можно ли вообще получить доступ к диску, когда он используется другим?Или мне нужно сделать какой-нибудь собственный скрипт в интерфейсе, который я делаю, который отключает сервер minecraft и затем запускает FTP-узел?

Текущий yml:

apiVersion: v1
kind: Service
metadata:
  name: lapitos
  labels:
    type: lapitos
spec:
  type: LoadBalancer
  ports:
  - name: minecraft
    port: 25565
    protocol: TCP
    targetPort: 25565
  - name: minecraft-rcon
    port: 25575
    protocol: TCP
    targetPort: 25575
  selector:
    app: lapitos
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: lapitos
spec:
  serviceName: lapitos
  replicas: 1
  selector:
    matchLabels:
      app: lapitos
  template:
    metadata:
      labels:
        app: lapitos
    spec:
      containers:
      - name: lapitos
        image: gcr.io/mchostingnet-202204/lapitosbeta2
        resource:
          limits:
            cpu: "2"
          requests:
            cpu: "2"
        ports:
        - containerPort: 25565
          name: minecraft
        volumeMounts:
        - name: world
          mountPath: /world
        - name: config
          mountPath: /config
        - name: logs
          mountPath: /logs
  volumeClaimTemplates:
  - metadata:
      name: world
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 25Gi
  - metadata:
      name: config
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 1Gi
  - metadata:
      name: logs
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 1Gi

1 Ответ

0 голосов
/ 21 мая 2018

1.- Захватите образ ftp, который вам подходит, из любого реестра и используйте его вместо создания собственного. Если все еще является требованием, я не знаю. Примечание. Compute Engine заблокировал порт 21.

2.- Да, вы можете. Режимы громкости доступа:

  • ReadWriteOnce - том может монтироваться как чтение-запись одним узлом
  • ReadOnlyMany - том может быть подключен только для чтения многими узлами
  • ReadWriteMany - том можно монтировать как чтение-запись многими узлами
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...