Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

検証

共同作成者 kevin-hoke

前の手順で構成されたマルチテナント アーキテクチャを検証するには、次の手順を実行します。

割り当てられたプロジェクトで PVC またはポッドを作成するためのアクセスを検証する

  1. project-1 の開発者、ocp-project-1-user としてログインします。

  2. 新しいプロジェクトを作成するにはアクセスを確認してください。

    oc create ns sub-project-1
  3. project-1 に割り当てられているストレージクラスを使用して、project-1 に PVC を作成します。

    cat << EOF | oc create -f -
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: test-pvc-project-1
      namespace: project-1
      annotations:
        trident.netapp.io/reclaimPolicy: Retain
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: project-1-sc
    EOF
  4. PVC に関連付けられている PV を確認します。

    oc get pv
  5. NetApp ONTAP上の project-1 専用の SVM に PV とそのボリュームが作成されていることを確認します。

    volume show -vserver project-1-svm
  6. project-1 にポッドを作成し、前の手順で作成した PVC をマウントします。

    cat << EOF | oc create -f -
    kind: Pod
    apiVersion: v1
    metadata:
      name: test-pvc-pod
      namespace: project-1
    spec:
      volumes:
        - name: test-pvc-project-1
          persistentVolumeClaim:
           claimName: test-pvc-project-1
      containers:
        - name: test-container
          image: nginx
          ports:
            - containerPort: 80
              name: "http-server"
          volumeMounts:
            - mountPath: "/usr/share/nginx/html"
              name: test-pvc-project-1
    EOF
  7. ポッドが実行中かどうか、ボリュームがマウントされているかどうかを確認します。

    oc describe pods test-pvc-pod -n project-1

別のプロジェクトで PVC またはポッドを作成したり、別のプロジェクト専用のリソースを使用したりするためのアクセスを検証します

  1. project-1 の開発者、ocp-project-1-user としてログインします。

  2. project-2 に割り当てられているストレージクラスを使用して、project-1 に PVC を作成します。

    cat << EOF | oc create -f -
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: test-pvc-project-1-sc-2
      namespace: project-1
      annotations:
        trident.netapp.io/reclaimPolicy: Retain
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: project-2-sc
    EOF
  3. プロジェクト 2 に PVC を作成します。

    cat << EOF | oc create -f -
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: test-pvc-project-2-sc-1
      namespace: project-2
      annotations:
        trident.netapp.io/reclaimPolicy: Retain
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: project-1-sc
    EOF
  4. PVCが `test-pvc-project-1-sc-2`そして `test-pvc-project-2-sc-1`作成されませんでした。

    oc get pvc -n project-1
    oc get pvc -n project-2
  5. project-2 にポッドを作成します。

    cat << EOF | oc create -f -
    kind: Pod
    apiVersion: v1
    metadata:
      name: test-pvc-pod
      namespace: project-1
    spec:
      containers:
        - name: test-container
          image: nginx
          ports:
            - containerPort: 80
              name: "http-server"
    EOF

プロジェクト、リソースクォータ、ストレージクラスの表示と編集へのアクセスを検証する

  1. project-1 の開発者、ocp-project-1-user としてログインします。

  2. 新しいプロジェクトを作成するためのアクセスを確認します。

    oc create ns sub-project-1
  3. プロジェクトを表示するためのアクセスを検証します。

    oc get ns
  4. ユーザーが project-1 の ResourceQuotas を表示または編集できるかどうかを確認します。

    oc get resourcequotas -n project-1
    oc edit resourcequotas project-1-sc-rq -n project-1
  5. ユーザーがストレージクラスを表示するアクセス権を持っていることを確認します。

    oc get sc
  6. ストレージクラスを記述するためのアクセスを確認します。

  7. ストレージクラスを編集するためのユーザーのアクセスを検証します。

    oc edit sc project-1-sc