Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

27.17.3.6. GlusterFS オブジェクトの定義

glusterfs-storageclass.yaml

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: slow
provisioner: kubernetes.io/glusterfs
parameters: 1
  resturl: http://127.0.0.1:8081 2
  restuser: admin 3
  secretName: heketi-secret 4
  secretNamespace: default 5
  gidMin: "40000" 6
  gidMax: "50000" 7
  volumeoptions: group metadata-cache, nl-cache on 8
  volumetype: replicate:3 9
  volumenameprefix: custom 10

1
一覧表示されているのは、必須パラメーターおよびいくつかのオプションのパラメーターです。追加のパラメーターについては、Registering a Storage Class を参照してください。
2
GlusterFS ボリュームをオンデマンドでプロビジョニングする heketi (Gluster 用のボリューム管理 REST サービス) URL。一般的な形式は {http/https}://{IPaddress}:{Port} です。GlusterFS 動的プロビジョナーの場合、これは必須パラメーターです。heketi サービスが OpenShift Container Platform で ルーティング可能なサービスとして公開されている場合には、解決可能な完全修飾ドメイン名 (FQDN) と heketi サービス URL が割り当てられます。
3
ボリュームを作成するためのアクセスを持つ heketi ユーザー。通常は admin です。
4
heketi との通信に使用するユーザーパスワードを含むシークレットの ID。オプション。secretNamespacesecretName の両方を省略した場合、空のパスワードが使用されます。指定するシークレットは "kubernetes.io/glusterfs" タイプである必要があります。
5
前述の secretName の namespace。オプション。secretNamespacesecretName の両方を省略した場合、空のパスワードが使用されます。指定するシークレットは "kubernetes.io/glusterfs" タイプである必要があります。
6
オプション。この StorageClass のボリュームの GID 範囲の最小値です。
7
オプション。この StorageClass のボリュームの GID 範囲の最大値です。
8
オプション。新規に作成されたボリュームのオプションです。これにより、パフォーマンスチューニングが可能になります。GlusterFS ボリュームの他のオプションについては、Tuning Volume Options を参照してください。
9
オプション。使用する ボリュームのタイプ です。
10
オプション。<volumenameprefix>_<namespace>_<claimname>_UUID の形式を使用してカスタムボリューム名のサポートを有効にします。この storageClass を使用してプロジェクト project1myclaim という新規の PVC を作成する場合、ボリューム名は custom-project1-myclaim-UUID になります。
注記

gidMin 値と gidMax 値を指定しない場合、デフォルトはそれぞれ 2000 と 2147483647 になります。動的にプロビジョニングされる各ボリュームには、この範囲 (gidMin-gidMax) の GID が割り当てられます。GID は、対応するボリュームが削除されるとプールから解放されます。GID プールは StorageClass ごとに設定されます。複数のストレージクラス間で GID 範囲が重複している場合、プロビジョナーによって、重複する GID が割り当てられる可能性があります。

heketi 認証を使用する場合は、管理キーを含むシークレットも存在している必要があります。

heketi-secret.yaml

apiVersion: v1
kind: Secret
metadata:
  name: heketi-secret
  namespace: default
data:
  key: bXlwYXNzd29yZA== 1
type: kubernetes.io/glusterfs

1
base64 でエンコードされたパスワード。 例: echo -n "mypassword" | base64
注記

PV が動的にプロビジョニングされると、GlusterFS プラグインによってエンドポイントと gluster-dynamic-<claimname> という名前のヘッドレスサービスが自動的に作成されます。PVC が削除されると、これらの動的リソースは自動的に削除されます。