2.5. Azure を使用した永続ストレージ


OpenShift Container Platform は OpenStack Cinder をサポートします。これには、Kubernetes と OpenStack についてある程度の理解があることが前提となります。

Cinder ボリュームは動的にプロビジョニングできます。永続ボリュームは単一のプロジェクトまたは namespace にバインドされず、それらは OpenShift Container Platform クラスター間で共有できます。Persistent Volume Claim (永続ボリューム要求、PVC) はプロジェクトまたは namespace に固有のもので、ユーザーによって要求されます。

追加リソース

  • OpenStack Block Storage が仮想ハードドライブの永続ブロックストレージ管理を提供する方法についての詳細は、「OpenStack Cinder」を参照してください。

2.5.1. Cinder を使用した手動プロビジョニング

ストレージは、ボリュームとして OpenShift Container Platform にマウントされる前に基礎となるインフラストラクチャーになければなりません。

前提条件

  • OpenStack 用に設定された OpenShift Container Platform
  • Cinder ボリューム ID

2.5.1.1. 永続ボリュームの作成

OpenShift Container Platform に永続ボリューム (PV) を作成する前に、オブジェクト定義でこれを定義する必要があります。

手順

  1. オブジェクト定義をファイルに保存します。

    cinder-persistentvolume.yaml

    Copy to Clipboard Toggle word wrap
    apiVersion: "v1"
    kind: "PersistentVolume"
    metadata:
      name: "pv0001" 
    1
    
    spec:
      capacity:
        storage: "5Gi" 
    2
    
      accessModes:
        - "ReadWriteOnce"
      cinder: 
    3
    
        fsType: "ext3" 
    4
    
        volumeID: "f37a03aa-6212-4c62-a805-9ce139fab180" 
    5

    1
    Persistent Volume Claim (PVC、永続ボリューム要求) または Pod によって使用されるボリュームの名前。
    2
    このボリュームに割り当てられるストレージの量。
    3
    OpenStack Cinder ボリュームの cinder を示します。
    4
    ボリュームの初回マウント時に作成されるファイルシステム。
    5
    使用する Cinder ボリューム
    重要

    ボリュームをフォーマットしてプロビジョニングした後には、fstype パラメーターの値は変更しないでください。この値を変更すると、データの損失や、Pod の障害につながる可能性があります。

  2. 前のステップで保存したオブジェクト定義ファイルを作成します。

    Copy to Clipboard Toggle word wrap
    $ oc create -f cinder-persistentvolume.yaml

2.5.1.2. 永続ボリュームのフォーマット

OpenShift Container Platform は初回の使用前にフォーマットするため、フォーマットされていない Cinder ボリュームを PV として使用できます。

OpenShift Container Platform がボリュームをマウントし、これをコンテナーに渡す前に、システムは PV 定義の fsType パラメーターで指定されたファイルシステムがボリュームに含まれるかどうかをチェックします。デバイスが指定されたファイルシステムでフォーマットされていない場合、デバイスのデータはすべて消去され、デバイスはそのファイルシステムで自動的にフォーマットされます。

2.5.1.3. Cinder ボリュームのセキュリティー

お使いのアプリケーションで Cinder PV を使用する場合に、そのデプロイメント設定にセキュリティーを追加します。

前提条件

  • 適切な fsGroup ストラテジーを使用する SCC が作成される必要があります。

手順

  1. サービスアカウントを作成して、そのアカウントを SCC に追加します。

    Copy to Clipboard Toggle word wrap
    $ oc create serviceaccount <service_account>
    $ oc adm policy add-scc-to-user <new_scc> -z <service_account> -n <project>
  2. アプリケーションのデプロイ設定で、サービスアカウント名と securityContext を指定します。

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: ReplicationController
    metadata:
      name: frontend-1
    spec:
      replicas: 1  
    1
    
      selector:    
    2
    
        name: frontend
      template:    
    3
    
        metadata:
          labels:  
    4
    
            name: frontend 
    5
    
        spec:
          containers:
          - image: openshift/hello-openshift
            name: helloworld
            ports:
            - containerPort: 8080
              protocol: TCP
          restartPolicy: Always
          serviceAccountName: <service_account> 
    6
    
          securityContext:
            fsGroup: 7777 
    7
    1
    実行する Pod のコピー数。
    2
    実行する Pod のラベルセレクター。
    3
    コントローラーが作成する Pod のテンプレート。
    4
    Pod のラベル。ラベルセレクターからのラベルを組み込む必要があります。
    5
    パラメーター拡張後の名前の最大長さは 63 文字です。
    6
    作成したサービスアカウントを指定します。
    7
    Pod の fsGroup を指定します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.