2016-11-15 2 views
0

Я тестирую новую платформу Openshift на основе Docker и Kubernetes.Ошибка при монтаже на Openshift (Next gen)

Я создал новый проект с нуля, а затем, когда я пытаюсь развернуть простую службу MongoDB (а также с приложением Python), я получил следующие ошибки в разделе Мониторинга в вебе-консоли:

Unable to mount volumes for pod "mongodb-1-sfg8t_rob1(e9e53040-ab59-11e6-a64c-0e3d364e19a5)": timeout expired waiting for volumes to attach/mount for pod "mongodb-1-sfg8t"/"rob1". list of unattached/unmounted volumes=[mongodb-data] 
Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "mongodb-1-sfg8t"/"rob1". list of unattached/unmounted volumes=[mongodb-data] 

кажется проблема крепления ПВХ в контейнере, однако ПВХ создан правильно и ограничена:

oc get pvc 

Возвраты:

NAME   STATUS VOLUME   CAPACITY ACCESSMODES AGE 
mongodb-data Bound  pv-aws-9dged 1Gi  RWO   29m 

Я развертывается его с помощью следующих команд:

oc process -f openshift/templates/mongodb.json | oc create -f - 

oc deploy mongodb --latest 

Полный журнал с веб-консоли:

enter image description here

Содержание шаблона, который я использовал:

{ 
    "kind": "Template", 
    "apiVersion": "v1", 
    "metadata": { 
     "name": "mongo-example", 
     "annotations": { 
      "openshift.io/display-name": "Mongo example", 
      "tags": "quickstart,mongo" 
     } 
    }, 
    "labels": { 
     "template": "mongo-example" 
    }, 
    "message": "The following service(s) have been created in your project: ${NAME}.", 
    "objects": [ 
     { 
      "kind": "PersistentVolumeClaim", 
      "apiVersion": "v1", 
      "metadata": { 
       "name": "${DATABASE_DATA_VOLUME}" 
      }, 
      "spec": { 
       "accessModes": [ 
        "ReadWriteOnce" 
       ], 
       "resources": { 
        "requests": { 
         "storage": "${DB_VOLUME_CAPACITY}" 
        } 
       } 
      } 
     }, 
     { 
      "kind": "Service", 
      "apiVersion": "v1", 
      "metadata": { 
       "name": "${DATABASE_SERVICE_NAME}", 
       "annotations": { 
        "description": "Exposes the database server" 
       } 
      }, 
      "spec": { 
       "ports": [ 
        { 
         "name": "mongodb", 
         "port": 27017, 
         "targetPort": 27017 
        } 
       ], 
       "selector": { 
        "name": "${DATABASE_SERVICE_NAME}" 
       } 
      } 
     }, 
     { 
      "kind": "DeploymentConfig", 
      "apiVersion": "v1", 
      "metadata": { 
       "name": "${DATABASE_SERVICE_NAME}", 
       "annotations": { 
        "description": "Defines how to deploy the database" 
       } 
      }, 
      "spec": { 
       "strategy": { 
        "type": "Recreate" 
       }, 
       "triggers": [ 
        { 
         "type": "ImageChange", 
         "imageChangeParams": { 
          "automatic": true, 
          "containerNames": [ 
           "mymongodb" 
          ], 
          "from": { 
           "kind": "ImageStreamTag", 
           "namespace": "", 
           "name": "mongo:latest" 
          } 
         } 
        }, 
        { 
         "type": "ConfigChange" 
        } 
       ], 
       "replicas": 1, 
       "selector": { 
        "name": "${DATABASE_SERVICE_NAME}" 
       }, 
       "template": { 
        "metadata": { 
         "name": "${DATABASE_SERVICE_NAME}", 
         "labels": { 
          "name": "${DATABASE_SERVICE_NAME}" 
         } 
        }, 
        "spec": { 
         "volumes": [ 
          { 
           "name": "${DATABASE_DATA_VOLUME}", 
           "persistentVolumeClaim": { 
            "claimName": "${DATABASE_DATA_VOLUME}" 
           } 
          } 
         ], 
         "containers": [ 
          { 
           "name": "mymongodb", 
           "image": "mongo:latest", 
           "ports": [ 
            { 
             "containerPort": 27017 
            } 
           ], 
           "env": [ 
            { 
             "name": "MONGODB_USER", 
             "value": "${DATABASE_USER}" 
            }, 
            { 
             "name": "MONGODB_PASSWORD", 
             "value": "${DATABASE_PASSWORD}" 
            }, 
            { 
             "name": "MONGODB_DATABASE", 
             "value": "${DATABASE_NAME}" 
            } 
           ], 
           "volumeMounts": [ 
            { 
             "name": "${DATABASE_DATA_VOLUME}", 
             "mountPath": "/data/db" 
            } 
           ], 
           "readinessProbe": { 
            "timeoutSeconds": 1, 
            "initialDelaySeconds": 5, 
            "exec": { 
             "command": [ "/bin/bash", "-c", "mongo --eval 'db.getName()'"] 
            } 
           }, 
           "livenessProbe": { 
            "timeoutSeconds": 1, 
            "initialDelaySeconds": 30, 
            "tcpSocket": { 
             "port": 27017 
            } 
           }, 
           "resources": { 
            "limits": { 
             "memory": "${MEMORY_MONGODB_LIMIT}" 
            } 
           } 
          } 
         ] 
        } 
       } 
      } 
     } 
    ], 
    "parameters": [ 
     { 
      "name": "NAME", 
      "displayName": "Name", 
      "description": "The name", 
      "required": true, 
      "value": "mongo-example" 
     },  
     { 
      "name": "MEMORY_MONGODB_LIMIT", 
      "displayName": "Memory Limit (MONGODB)", 
      "required": true, 
      "description": "Maximum amount of memory the MONGODB container can use.", 
      "value": "512Mi" 
     }, 
     { 
      "name": "DB_VOLUME_CAPACITY", 
      "displayName": "Volume Capacity", 
      "description": "Volume space available for data, e.g. 512Mi, 2Gi", 
      "value": "512Mi", 
      "required": true 
     }, 
     { 
      "name": "DATABASE_DATA_VOLUME", 
      "displayName": "Volumne name for DB data", 
      "required": true, 
      "value": "mongodb-data" 
     }, 
     { 
      "name": "DATABASE_SERVICE_NAME", 
      "displayName": "Database Service Name", 
      "required": true, 
      "value": "mongodb" 
     }, 
     { 
      "name": "DATABASE_NAME", 
      "displayName": "Database Name", 
      "required": true, 
      "value": "test1" 
     }, 
     { 
      "name": "DATABASE_USER", 
      "displayName": "Database Username", 
      "required": false  
     }, 
     { 
      "name": "DATABASE_PASSWORD", 
      "displayName": "Database User Password", 
      "required": false  
     } 
    ] 
} 

Есть ли проблема с моим шаблоном? Это проблема OpenShift? Где и как я могу получить дополнительную информацию о проблеме монтирования в журналах OpenShift?

+0

Для такой оперативной задачи лучше всего отправить отчет об ошибке через контролер ошибок Bugzilla, упомянутый на странице поддержки платформы предварительного просмотра разработчика OpenShift. https://docs.openshift.com/online/getting_started/devpreview_faq.html#devpreview-faq-support –

ответ

0

Итак, я думаю, вы столкнулись с двумя разными проблемами.

  1. Вы шаблон настройки, чтобы вытащить из изображения Монго на Dockerhub (указанный пустой «пространство имен» значение При попытке вытащить Монго:. Последнее изображение из Dockerhub в веб-интерфейсе, вы встретили дружеский сообщение с уведомлением о том, что докер изображение не используется, поскольку он работает в качестве корня:. OpenShift error
  2. OpenShift Интернет Dev просмотра имеет были некоторые вопросы, связанные с ПВХ недавно (http://status.preview.openshift.com/) в частности, это сообщили об ошибке в данный момент, https://bugzilla.redhat.com/show_bug.cgi?id=1392650. Это может быть причиной некоторых проблем, поскольку «официальный» образ Mongo на OpenShift также не удается построить.

Я хотел бы направить вас к шаблону OpenShift MongoDB, а не точная один используется в Developer Preview, но будем надеяться, обеспечить хорошие направления продвижения вперед! https://github.com/openshift/openshift-ansible/blob/master/roles/openshift_examples/files/examples/v1.4/db-templates/mongodb-persistent-template.json

+0

Привет, Я пробовал с изображением openhift mongo с тем же результатом, даже с предложенным шаблоном, но проблема с монтировкой все еще случается. Возможно, это связано с проблемами платформы, связанными с ПВХ. – Roberto

+0

Да, извините ... как я уже сказал, вы столкнулись с обоими проблемами. Если бы не была проблема с ПВХ, изображение Dockerhub все равно потерпело бы неудачу, потому что OpenShift Online не позволяет изображениям запускаться как root ... но, как вы видели, даже «официальное» изображение выходит из строя. Пожалуйста, не стесняйтесь подписываться на ошибку Bugzilla, чтобы следить за разрешением этой проблемы! –

+0

ОК, я буду ждать разрешения проблемы № 1392650, на которую вы указали мне, там же описанный здесь msg-сообщение.Однако я не уверен, что оригинальное изображение mongo ошибочно, потому что служба mongod по умолчанию работает с пользователем mongodb, так или иначе, я попробую еще раз, когда проблема будет исправлена, чтобы подтвердить это. Спасибо за вашу помощь. – Roberto

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