"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を指定すると、テンプレートのデプロイメントと同じ動作が観察されます。新しいデプロイメントが(設定の変更により)起動されますが、関連付けられたポッドは起動しません。
'' oc get pvc''で何を得るのですか?クォータを使用することができる永続的なボリュームの数にクォータがある場合、新しいボリュームを要求する必要があるようにテンプレートが構成されている場合は、そのクォータが保留状態になります。クレームされた最大量を持っていて、それらを使用していない場合は、最初にそれらを放出する必要があります。 –
私は上の編集OPの出力を追加しました。私はクォータについて言及していません。私はこれだけ(nfs-pv00)とコンテナレジストリ(別のプロジェクト)を持っています。だから私は限界に達したとは思わない。 – Cosmo
これが設定したクラスタの場合、クォータはありません。 OpenShiftオンラインデベロッパープレビューを使用していた場合のクォータについてのみ言及します。このプレビューでは、ユーザーあたり2つの固定ボリュームのクォータがあります。 –