2017-01-19 7 views
0

"oc export"を使用して作成したOpenShiftデプロイメント構成テンプレートがあります。元のポッドには、/ dataにマウントされた永続ボリュームクレーム(PVC)があります。テンプレートを使用して展開しようとすると、ポッドは決して起動しません。テンプレートからボリュームとボリュームのマウントをすべて削除すると、ポッドが起動します。私は手動でボリュームを接続する必要があります。私はテンプレートからすべてそれを行うことができるようにしたい。 (「:コンテナの作成状況」)は、このテンプレートを展開するとポッドを作成するために、展開が待って座っているボリュームが宣言されている場合、Openshift deployment-configテンプレートのポッドのデプロイメントに失敗する

apiVersion: v1 
kind: Template 
metadata: 
    name: myapp 
objects: 
- apiVersion: v1 
    kind: DeploymentConfig 
    metadata: 
    name: myapp-service 
    spec: 
    template: 
     spec: 
     containers: 
     - name: myapp-service 
      image: my-private-registry/myapp-service:latest 
      volumeMounts: 
      - mountPath: /data 
      name: volume-001 
     volumes: 
     - persistentVolumeClaim: 
      claimName: nfs-pvc 
      name: volume-001 

:ここだけ関連する項目を示す部分テンプレートです。 persistentVolumeClaim項目が短命ボリュームの宣言に置き換えている場合:

 volumes: 
     - emptyDir: {} 
      name: volume-001 

それは罰金を起動します。したがって、この問題はpersistentVolumeClaimのエントリに固有のようです。ここに示すように、PVとPVCの両方が、予め設定された:

> oc get pv 
NAME   CAPACITY ACCESSMODES STATUS CLAIM     REASON AGE 
nfs-pv00  50Gi  RWX   Bound  my-project/nfs-pvc    1h 

> oc get pvc 
NAME   STATUS VOLUME  CAPACITY ACCESSMODES AGE 
nfs-pvc  Bound  nfs-pv00 50Gi  RWX   1h 

EDIT:別のデータポイントは、(おそらく私が開始されている必要があること)は、既存の配備構成をopenshiftコンソール(アプリケーションから変更された場合ということです - > Deployments-> my-dc)を選択してPVCを指定すると、テンプレートのデプロイメントと同じ動作が観察されます。新しいデプロイメントが(設定の変更により)起動されますが、関連付けられたポッドは起動しません。

+0

'' oc get pvc''で何を得るのですか?クォータを使用することができる永続的なボリュームの数にクォータがある場合、新しいボリュームを要求する必要があるようにテンプレートが構成されている場合は、そのクォータが保留状態になります。クレームされた最大量を持っていて、それらを使用していない場合は、最初にそれらを放出する必要があります。 –

+0

私は上の編集OPの出力を追加しました。私はクォータについて言及していません。私はこれだけ(nfs-pv00)とコンテナレジストリ(別のプロジェクト)を持っています。だから私は限界に達したとは思わない。 – Cosmo

+0

これが設定したクラスタの場合、クォータはありません。 OpenShiftオンラインデベロッパープレビューを使用していた場合のクォータについてのみ言及します。このプレビューでは、ユーザーあたり2つの固定ボリュームのクォータがあります。 –

答えて

0

解決済み:悪いです。 PVを提供するために設定したNFSサーバー上に悪いマウントポイントがあることがわかりました。いったん私が正しいマウントポイントを指定すると、ポッドはうまく始まりました(まあ、とにかく次の問題に)。

関連する問題