NFSストレージの構成

Oracle Cloud Native EnvironmentでNFSストレージを構成するには、次のステップを実行します。

  1. OLCNEクラスタを作成します。「OLCNEクラスタ」を参照してください。

    クラスタには、3つ以上のワーカー・ノードが必要です。

  2. NFSサーバーを作成します。Oracle LinuxでNFSサーバーを使用する例は、「Oracle Linux: Oracle Linux でのNFSサーバーの作成」を参照してください。

    a.サーバー・インスタンスとクライアント・インスタンスにNFSユーティリティ・パッケージをインストールします。

    $ sudo dnf install -y nfs-utils
    

    b.共有ファイル用のディレクトリを作成します。サーバーがルート所有権を保持しないようにしてください。

    c.共有ディレクトリを/etc/exportsに定義して、正しい権限を設定します。必ずルート・スカッシュを無効にしてください。

    $ <path to directory> <ip-address/subnet-mask>(rw,sync,no_root_squash,no_subtree_check)
    

    d.NFSトラフィックを許可するようにファイアウォールを設定します。

    $ sudo firewall-cmd --permanent --zone=public --add-service=nfs
    $ sudo firewall-cmd --reload
    $ sudo firewall-cmd --list-all
    

    e.NFSサービスを有効にして起動します。

    $ sudo systemctl enable --now nfs-server
    

  3. NFSプロビジョナをクラスタにデプロイします。

    a.選択したNFSクライアント・プロビジョナをインストールします。例は、「Kubernetes NFSサブディレクトリの外部プロビジョナ」を参照してください。

    b.必要なHelmリポジトリを追加します。

    $ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
    

    c.プロビジョナをインストールします。ストレージ・クラスをデフォルトとして設定し、サービス・アカウントを作成します。

    $ helm install nfs-test \
       --set nfs.server=<server ip address> \
       --set nfs.path=<path> \
       --set storageClass.name=<name> \
       --set storageClass.defaultClass=true,rbac.create=true \
       --set storageClass.provisionerName=nfsclientprov/nfs \
       --set serviceAccount.create=true \
       --set serviceAccount.name=nfs-svc-acc-nfs nfs-subdir-external-provisioner/nfs-subdir-external-provisioner
    

    d.1つのストレージ・クラスのみをデフォルトとして指定する必要があります。必要な場合には、他のストレージ・クラスを編集し、次の注釈を削除します:

    $ storageclass.kubernetes.io/is-default-class: "true"