機械翻訳について

ストレージ

PersistentVolumeおよびPersistentVolumeClaimのサンプル

このサンプル・スクリプトでは、Kubernetes PersistentVolume (PV)およびPersistentVolumeClaim (PVC)の作成方法を示します。これらは、WebLogicドメイン・ホームまたはログ・ファイルの永続ストレージとしてドメインYAMLファイルで使用できます。

PVおよびPVCは、複数のWebLogicドメインで共有することも、特定のドメイン専用にすることもできます。

前提条件

開始する前に、このドキュメント「永続ストレージ」をお読みください。

スクリプトを使用したPVおよびPVCの作成

create-pv-pvc.shスクリプトを実行する前に、create-pv-pvc-inputs.yamlファイルのコピーを作成し、入力ファイルでweblogicDomainStoragePathプロパティのコメントを解除して明示的に構成します。

作成スクリプトを実行し、入力ファイルおよび出力ディレクトリを指定します:

$ ./create-pv-pvc.sh \
  -i create-pv-pvc-inputs.yaml \
  -o /path/to/output-directory

create-pv-pvc.shスクリプトは、指定された/path/to/output-directoryディレクトリの下にサブディレクトリpv-pvcsを作成します。 デフォルトでは、スクリプトによって2つのYAMLファイル(weblogic-sample-pv.yamlおよびweblogic-sample-pvc.yaml)が/path/to/output-directory/pv-pvcsに生成されます。 これらのYAMLファイルは、kubectl create -fコマンドを使用してKubernetesリソースを作成するために使用できます。

$ kubectl create -f weblogic-sample-pv.yaml
$ kubectl create -f weblogic-sample-pvc.yaml

便宜上、スクリプトはオプションで-eオプションを使用してPVおよびPVCリソースを作成できます。

作成スクリプトの使用方法は次のとおりです:

$ sh create-pv-pvc.sh -h
usage: create-pv-pvc.sh -i file -o dir [-e] [-h]
  -i Parameter inputs file, must be specified.
  -o Output directory for the generated yaml files, must be specified.
  -e Also create the Kubernetes objects using the generated yaml files
  -h Help

サンプル・スクリプトを別のロケーションにコピーする場合は、<weblogic-kubernetes-operator-project>/kubernetes/samples/scriptsディレクトリ内のすべてをターゲット・ディレクトリにコピーし、元のディレクトリ階層を維持してください。

構成パラメータ

PVおよびPVC作成の入力は、create-pv-pvc-inputs.yamlファイルを編集することでカスタマイズできます。

パラメータ 定義 デフォルト
domainUID 生成されたPVおよびPVCが専用になるドメインのID。 PVとPVCを複数のドメインで共有する場合は、空のままにします。 デフォルトなし
namespace PVCを作成するKubernetesネームスペース。 default
baseName PVおよびPVCのベース名。 生成されるPVおよびPVCは、それぞれ<baseName>-pvおよび<baseName>-pvcになります。 weblogic-sample
weblogicDomainStoragePath PVのストレージの物理パス。 weblogicDomainStorageTypeHOST_PATHに設定されている場合、この値をKubernetesホスト上のドメイン・ストレージへのパスに設定する必要があります。 weblogicDomainStorageTypeがNFSに設定されている場合、weblogicDomainStorageNFSServerはDNSサーバーのIPアドレスまたは名前に設定する必要があり、この値はそのサーバーでエクスポートされたパスに設定する必要があります。 WebLogicコンテナでドメインがマウントされているパスは、この設定の影響を受けません。この設定は、ドメインの作成時に決定されます。 デフォルトなし
weblogicDomainStorageReclaimPolicy 永続ストレージのKubernetes PVCポリシー。 有効な値は: RetainDeleteおよびRecycle Retain
weblogicDomainStorageSize PVCに割り当てられた合計ストレージ。 10Gi
weblogicDomainStorageType ストレージのタイプ。 有効な値は、NFSおよびHOST_PATHです。 NFSを使用する場合は、weblogicDomainStorageNFSServerを指定する必要があります。 HOST_PATH
weblogicDomainStorageNFSServer NFSサーバーの名前またはIPアドレス。 この設定は、weblogicDomainStorateTypeNFSの場合にのみ適用されます。 デフォルトなし

共有PVCと専用PVC

デフォルトでは、domainUIDは入力ファイル内で空のままになっています。つまり、生成されたPVおよびPVCは特定のドメインに関連付けられませんが、PVおよびPVCと同じKubernetesネームスペース内の複数のドメインで共有できます。 PV/PVCがドメイン間で共有されている場合、ベスト・プラクティスとして、一意のbaseNameを指定する必要があります。

特定のドメインに専用のPVおよびPVCが必要なユースケースでは、domainUIDcreate-pv-pvc-inputs.yamlファイルに設定する必要があります。 入力ファイルに空でないdomainUIDが存在すると、生成されたPVおよびPVCが指定されたdomainUIDに関連付けられます。 この関連付けには、生成されたYAMLファイルの名前とKubernetes PVおよびPVCオブジェクトがdomainUIDで修飾され、PVおよびPVCオブジェクトにもdomainUIDのラベルが付けられていることが含まれます。

結果の検証

作成スクリプトはPVおよびPVCが作成されたことを確認し、エラーが発生した場合は失敗を報告します。 ただし、スクリプトによって作成された様々なKubernetesオブジェクトを理解するだけでも、PVおよびPVCを手動で検証することが望ましい場合があります。

デフォルト入力のYAMLファイルを生成しました

生成されたweblogic-sample-pvc.yamlの内容:

# Copyright 2018, 2021, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: weblogic-sample-pvc
  namespace: default

  storageClassName: weblogic-sample-storage-class
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi

生成されたweblogic-sample-pv.yamlの内容:

# Copyright 2018, 2021, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: weblogic-sample-pv
  # labels:
  #   weblogic.domainUID:
spec:
  storageClassName: weblogic-sample-storage-class
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  # Valid values are Retain, Delete or Recycle
  persistentVolumeReclaimPolicy: Retain
  hostPath:
  # nfs:
    # server: %SAMPLE_STORAGE_NFS_SERVER%
    path: "/scratch/k8s_dir"
専用PVおよびPVC用に生成されたYAMLファイル

domainUIDdomain1に設定されている場合に生成されるdomain1-weblogic-sample-pvc.yamlのコンテンツは次のとおりです:

# Copyright 2018, 2021, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: domain1-weblogic-sample-pvc
  namespace: default
  labels:
    weblogic.domainUID: domain1
spec:
  storageClassName: domain1-weblogic-sample-storage-class
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi

domainUIDdomain1に設定されている場合に生成されるdomain1-weblogic-sample-pv.yamlのコンテンツは次のとおりです:

# Copyright 2018, 2021, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: domain1-weblogic-sample-pv
  labels:
    weblogic.domainUID: domain1
spec:
  storageClassName: domain1-weblogic-sample-storage-class
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  # Valid values are Retain, Delete or Recycle
  persistentVolumeReclaimPolicy: Retain
  hostPath:
  # nfs:
    # server: %SAMPLE_STORAGE_NFS_SERVER%
    path: "/scratch/k8s_dir"

PVおよびPVCオブジェクトの検証

このコマンドを使用して、PersistentVolumeが作成されたことを確認できます。 Statusフィールドには、PersistentVolumeが要求されたことを示す値Boundが表示されます:

$ kubectl describe pv weblogic-sample-pv
Name:            weblogic-sample-pv
Annotations:     pv.kubernetes.io/bound-by-controller=yes
StorageClass:    weblogic-sample-storage-class
Status:          Bound
Claim:           default/weblogic-sample-pvc
Reclaim Policy:  Retain
Access Modes:    RWX
Capacity:        10Gi
Message:         
Source:
    Type:          HostPath (bare host directory volume)
    Path:          /scratch/k8s_dir
    HostPathType:  
Events:            <none>

このコマンドを使用して、PersistentVolumeClaimが作成されたことを確認できます:

$ kubectl describe pvc weblogic-sample-pvc
Name:          weblogic-sample-pvc
Namespace:     default
StorageClass:  weblogic-sample-storage-class
Status:        Bound
Volume:        weblogic-sample-pv
Annotations:   pv.kubernetes.io/bind-completed=yes
               pv.kubernetes.io/bound-by-controller=yes
Finalizers:    []
Capacity:      10Gi
Access Modes:  RWX
Events:        <none>