2016-10-01 2 views
1

У меня есть установка ядра контейнера google. Я хотел бы спрятать блок mysql с внешним томом.Невозможно запустить mysql pod в кубернетах с внешним томом

ReplicationController:

apiVersion: v1 
kind: ReplicationController 
metadata: 
    labels: 
    name: mysql 
    name: mysql-controller 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     name: mysql 
    spec: 
     containers: 
     - image: mysql 
      name: mysql 
      ports: 
      - name: mysql 
      containerPort: 3306 
      hostPort: 3306 
      volumeMounts: 
      - name: mysql-persistent-storage 
       mountPath: /var/lib/mysql 
     volumes: 
     - name: mysql-persistent-storage 
      gcePersistentDisk: 
      pdName: mysql-1-disk 
      fsType: ext4 

Когда я запустить RC without внешний объем, MySQL работает отлично. Он порывает с ниже ошибки, когда я пытаюсь прикрепить громкость

Kubernetes POD Ошибка:

Warning FailedSyncError syncing pod, skipping: failed to "StartContainer" for "mysql" with CrashLoopBackOff: "Back-off 20s restarting failed container=mysql pod=mysql-controller-4hhqs_default(eb34ff46-8784-11e6-8f12-42010af00162)" 

диск (внешний объем): mysql-1-disk это облако диск Google. Я попытался создать диск с blank disk и image - ubuntu. Оба отказались с одинаковой ошибкой.

+0

Вы решили проблему? Я получаю точные результаты при запуске mysql на GCE – VsMaX

ответ

0

Сообщения об ошибках при установке постоянных дисков на самом деле не являются описательными с моей точки зрения. Используйте пустой диск на основе вашего файла конфигурации.

Некоторые вещи, чтобы проверить:

  • ли pdName точно так же, как и в среде КГЭ
  • ли диск в той же зоне доступности (., Например, Европа-West1-с) в кластере, в противном случае он не может монтироваться.

Надеюсь, это поможет.

0

Проблема, с которой вы сталкиваетесь, может быть вызвана использованием RC, а не Pod для взаимодействия с постоянным диском.

Как упоминается в documentation:

A feature of PD is that they can be mounted as read-only by multiple consumers simultaneously. This means that you can pre-populate a PD with your dataset and then serve it in parallel from as many pods as you need. Unfortunately, PDs can only be mounted by a single consumer in read-write mode - no simultaneous writers allowed. Using a PD on a pod controlled by a ReplicationController will fail unless the PD is read-only or the replica count is 0 or 1.

В этом случае, я могу предложить вам запустить MySQL со стойкими дисков, определяющих подключение диска в файле конфигурации Pod. Пример конфигурации вы можете найти here.

+0

, он использует RC с количеством реплик одного, поэтому он отлично использует RC. Я всегда предпочел бы RC над POD, так как RC перезагружается, когда вниз, стручки - нет. –

Смежные вопросы