8.11. AWS에서 Red Hat OpenShift용 cert-manager Operator 인증

AWS 클러스터에서 Red Hat OpenShift용 cert-manager Operator에 대한 클라우드 인증 정보를 구성할 수 있습니다. 클라우드 인증 정보는 Cloud Credential Operator에 의해 생성됩니다.

8.11.1. AWS에서 Red Hat OpenShift용 cert-manager Operator에 대한 클라우드 인증 정보 구성

AWS 클러스터에서 Red Hat OpenShift용 cert-manager Operator에 대한 클라우드 인증 정보를 구성하려면 CredentialsRequest 오브젝트를 생성하고 Cloud Credential Operator를 허용하여 클라우드 인증 정보 시크릿을 생성해야 합니다.

사전 요구 사항

  • cert-manager Operator for Red Hat OpenShift 1.11.1 이상을 설치했습니다.
  • mint 또는 passthrough 모드에서 작동하도록 Cloud Credential Operator를 구성했습니다.

프로세스

  1. 다음과 같이 CredentialsRequest 리소스 YAML 파일을 생성합니다(예: sample-credential-request.yaml ).

    apiVersion: cloudcredential.openshift.io/v1
    kind: CredentialsRequest
    metadata:
      name: cert-manager
      namespace: openshift-cloud-credential-operator
    spec:
      providerSpec:
        apiVersion: cloudcredential.openshift.io/v1
        kind: AWSProviderSpec
        statementEntries:
        - action:
          - "route53:GetChange"
          effect: Allow
          resource: "arn:aws:route53:::change/*"
        - action:
          - "route53:ChangeResourceRecordSets"
          - "route53:ListResourceRecordSets"
          effect: Allow
          resource: "arn:aws:route53:::hostedzone/*"
        - action:
          - "route53:ListHostedZonesByName"
          effect: Allow
          resource: "*"
      secretRef:
        name: aws-creds
        namespace: cert-manager
      serviceAccountNames:
      - cert-manager
  2. 다음 명령을 실행하여 CredentialsRequest 리소스를 생성합니다.

    $ oc create -f sample-credential-request.yaml
  3. 다음 명령을 실행하여 cert-manager Operator for Red Hat OpenShift의 서브스크립션 오브젝트를 업데이트합니다.

    $ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"CLOUD_CREDENTIALS_SECRET_NAME","value":"aws-creds"}]}}}'

검증

  1. 다음 명령을 실행하여 재배포된 cert-manager 컨트롤러 Pod의 이름을 가져옵니다.

    $ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-manager

    출력 예

    NAME                          READY   STATUS    RESTARTS   AGE
    cert-manager-bd7fbb9fc-wvbbt  1/1     Running   0          15m39s

  2. 다음 명령을 실행하여 cert-manager 컨트롤러 Pod가 mountPath 에 지정된 경로에 마운트된 AWS 인증 정보 볼륨으로 업데이트되었는지 확인합니다.

    $ oc get -n cert-manager pod/<cert-manager_controller_pod_name> -o yaml

    출력 예

    ...
    spec:
      containers:
      - args:
        ...
        - mountPath: /.aws
          name: cloud-credentials
      ...
      volumes:
      ...
      - name: cloud-credentials
        secret:
          ...
          secretName: aws-creds