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。オプション。
secretNamespace
とsecretName
の両方を省略した場合、空のパスワードが使用されます。指定するシークレットは"kubernetes.io/glusterfs"
タイプである必要があります。 - 5
- 前述の
secretName
の namespace。オプション。secretNamespace
とsecretName
の両方を省略した場合、空のパスワードが使用されます。指定するシークレットは"kubernetes.io/glusterfs"
タイプである必要があります。 - 6
- オプション。この StorageClass のボリュームの GID 範囲の最小値です。
- 7
- オプション。この StorageClass のボリュームの GID 範囲の最大値です。
- 8
- オプション。新規に作成されたボリュームのオプションです。これにより、パフォーマンスチューニングが可能になります。GlusterFS ボリュームの他のオプションについては、Tuning Volume Options を参照してください。
- 9
- オプション。使用する ボリュームのタイプ です。
- 10
- オプション。
<volumenameprefix>_<namespace>_<claimname>_UUID
の形式を使用してカスタムボリューム名のサポートを有効にします。この storageClass を使用してプロジェクトproject1
にmyclaim
という新規の 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 が削除されると、これらの動的リソースは自動的に削除されます。