검색

5.3. Shared Resources CSI 드라이버 Operator를 사용하여 시크릿을 공유하여 Red Hat 인타이틀먼트 사용

download PDF

CSI(Share Resources Container Storage Interface) Driver Operator를 사용하여 openshift-config-managed 네임스페이스에서 다른 네임스페이스로 etc-pki-entitlement 시크릿 공유를 설정할 수 있습니다. 그런 다음 Buildah 작업에 이 시크릿을 사용하도록 파이프라인을 구성할 수 있습니다.

사전 요구 사항

  • oc 명령줄 유틸리티를 클러스터 관리자 권한이 있는 사용자로 사용하여 OpenShift Container Platform 클러스터에 로그인되어 있습니다.
  • OpenShift Container Platform 클러스터에서 Shared Resources CSI Driver Operator를 활성화했습니다.

프로세스

  1. 다음 명령을 실행하여 etc-pki-entitlement 시크릿을 공유할 SharedSecret CR(사용자 정의 리소스)을 생성합니다.

    $ oc apply -f - <<EOF
    apiVersion: sharedresource.openshift.io/v1alpha1
    kind: SharedSecret
    metadata:
      name: shared-rhel-entitlement
    spec:
      secretRef:
        name: etc-pki-entitlement
        namespace: openshift-config-managed
    EOF
  2. 다음 명령을 실행하여 공유 보안에 대한 액세스를 허용하는 RBAC 역할을 생성합니다.

    $ oc apply -f - <<EOF
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: shared-resource-rhel-entitlement
      namespace: <pipeline_namespace> 1
    rules:
      - apiGroups:
          - sharedresource.openshift.io
        resources:
          - sharedsecrets
        resourceNames:
          - shared-rhel-entitlement
        verbs:
          - use
    EOF
    1
    & lt;pipeline_namespace& gt;를 파이프라인의 네임스페이스로 바꿉니다.
  3. 다음 명령을 실행하여 파이프라인 서비스 계정에 역할을 할당합니다.

    $ oc create rolebinding shared-resource-rhel-entitlement --role=shared-shared-resource-rhel-entitlement \
      --serviceaccount=<pipeline-namespace>:pipeline 1
    1
    & lt;pipeline-namespace& gt;를 파이프라인의 네임스페이스로 바꿉니다.
    참고

    OpenShift Pipelines의 기본 서비스 계정을 변경했거나 파이프라인 실행 또는 작업 실행에 사용자 정의 서비스 계정을 정의하는 경우 파이프라인 계정 대신 이 계정에 역할을 할당합니다.

  4. Buildah 작업 정의에서 openshift-pipelines 네임스페이스에 제공된 buildah 작업 또는 이 작업의 사본을 사용하고 다음 예와 같이 rhel-entitlement 작업 공간을 정의합니다.
  5. Buildah 작업을 실행하는 작업 실행 또는 파이프라인 실행에서 다음 예와 같이 rhel-entitlement 작업 공간에 공유 시크릿을 할당합니다.

Red Hat 인타이틀먼트를 사용하는 파이프라인 및 작업 정의를 포함한 파이프라인 실행 정의의 예

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: buildah-pr-test-csi
spec:
  workspaces:
    - name: shared-workspace
      volumeClaimTemplate:
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 1Gi
    - name: dockerconfig
      secret:
        secretName: regred
    - name: rhel-entitlement  1
      csi:
        readOnly: true
        driver: csi.sharedresource.openshift.io
        volumeAttributes:
          sharedSecret: shared-rhel-entitlement
  pipelineSpec:
    workspaces:
    - name: shared-workspace
    - name: dockerconfig
    - name: rhel-entitlement  2
    tasks:
# ...
    - name: buildah
      taskRef:
        resolver: cluster
        params:
        - name: kind
          value: task
        - name: name
          value: buildah
        - name: namespace
          value: openshift-pipelines
      workspaces:
      - name: source
        workspace: shared-workspace
      - name: dockerconfig
        workspace: dockerconfig
      - name: rhel-entitlement  3
        workspace: rhel-entitlement
      params:
      - name: IMAGE
        value: <image_where_you_want_to_push>

1
파이프라인 실행의 rhel-entitlement 작업 공간에 대한 정의로 shared-rhel-entitlement CSI 공유 시크릿을 작업 공간에 할당합니다.
2
파이프라인 정의에서 rhel-entitlement 작업 공간 정의
3
작업 정의에서 rhel-entitlement 작업 공간 정의
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.