27.16.2. 설치 및 설정


기능은 외부 프로비저너에서 제공합니다. OpenShift Container Platform 클러스터에 설치하고 구성해야 합니다.

27.16.2.1. 외부 프로비저너 시작

외부 프로비저너 서비스는 컨테이너 이미지로 배포되며, 일반적으로 OpenShift Container Platform 클러스터에서 실행할 수 있습니다.

API 오브젝트를 관리하는 컨테이너를 허용하려면 필수 역할 기반 액세스 제어(RBAC) 규칙을 클러스터 관리자로 구성합니다.

  1. ServiceAccount 를 생성합니다.

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: manila-provisioner-runner
    Copy to Clipboard Toggle word wrap
  2. ClusterRole 을 생성합니다.

    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: manila-provisioner-role
    rules:
      - apiGroups: [""]
        resources: ["persistentvolumes"]
        verbs: ["get", "list", "watch", "create", "delete"]
      - apiGroups: [""]
        resources: ["persistentvolumeclaims"]
        verbs: ["get", "list", "watch", "update"]
      - apiGroups: ["storage.k8s.io"]
        resources: ["storageclasses"]
        verbs: ["get", "list", "watch"]
      - apiGroups: [""]
        resources: ["events"]
        verbs: ["list", "watch", "create", "update", "patch"]
    Copy to Clipboard Toggle word wrap
  3. ClusterRoleBinding 을 통해 규칙을 바인딩합니다.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: manila-provisioner
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: manila-provisioner-role
    subjects:
    - kind: ServiceAccount
      name: manila-provisioner-runner
      namespace: default
    Copy to Clipboard Toggle word wrap
  4. 스토리지 클래스를 만듭니다.

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: "manila-share"
    provisioner: "externalstorage.k8s.io/manila"
    parameters:
      type: "default" 
    1
    
      zones: "nova" 
    2
    Copy to Clipboard Toggle word wrap
    1
    볼륨에 프로비저너가 만들 Manila 공유 유형입니다.
    2
    볼륨이 생성될 수 있는 Manila 가용 영역 세트입니다.

환경 변수를 사용하여 Manila servicesvic에 연결, 인증 및 권한을 부여하도록 프로비저너를 구성합니다. 다음 목록에서 설치 환경 변수의 적절한 조합을 선택합니다.

OS_USERNAME
OS_PASSWORD
OS_AUTH_URL
OS_DOMAIN_NAME
OS_TENANT_NAME
Copy to Clipboard Toggle word wrap
OS_USERID
OS_PASSWORD
OS_AUTH_URL
OS_TENANT_ID
Copy to Clipboard Toggle word wrap
OS_USERNAME
OS_PASSWORD
OS_AUTH_URL
OS_DOMAIN_ID
OS_TENANT_NAME
Copy to Clipboard Toggle word wrap
OS_USERNAME
OS_PASSWORD
OS_AUTH_URL
OS_DOMAIN_ID
OS_TENANT_ID
Copy to Clipboard Toggle word wrap

변수를 프로비저너에 전달하려면 Secret (시크릿)을 사용합니다. 다음 예는 첫 번째 변수 조합에 대해 구성된 보안을 보여줍니다.

apiVersion: v1
kind: Secret
metadata:
  name: manila-provisioner-env
type: Opaque
data:
  os_username: <base64 encoded Manila username>
  os_password: <base64 encoded password>
  os_auth_url: <base64 encoded OpenStack Keystone URL>
  os_domain_name: <base64 encoded Manila service Domain>
  os_tenant_name: <base64 encoded Manila service Tenant/Project name>
Copy to Clipboard Toggle word wrap
참고

최신 OpenStack 버전에서는 "테넌트" 대신 "프로젝트"를 사용합니다. 그러나 프로비저너에서 사용하는 환경 변수는 이름에 TENANT를 사용해야 합니다.

마지막 단계는 배포를 사용하여 프로비저너 자체를 시작하는 것입니다.

kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: manila-provisioner
spec:
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: manila-provisioner
    spec:
      serviceAccountName: manila-provisioner-runner
      containers:
        - image: "registry.redhat.io/openshift3/manila-provisioner:latest"
          imagePullPolicy: "IfNotPresent"
          name: manila-provisioner
          env:
            - name: "OS_USERNAME"
              valueFrom:
                secretKeyRef:
                  name: manila-provisioner-env
                  key: os_username
            - name: "OS_PASSWORD"
              valueFrom:
                secretKeyRef:
                  name: manila-provisioner-env
                  key: os_password
            - name: "OS_AUTH_URL"
              valueFrom:
                secretKeyRef:
                  name: manila-provisioner-env
                  key: os_auth_url
            - name: "OS_DOMAIN_NAME"
              valueFrom:
                secretKeyRef:
                  name: manila-provisioner-env
                  key: os_domain_name
            - name: "OS_TENANT_NAME"
              valueFrom:
                secretKeyRef:
                  name: manila-provisioner-env
                  key: os_tenant_name
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat