12.3.9. 사용자 정의 레지스트리 또는 라우터 인증서 재배포


재배포된 CA로 인해 노드를 비우면 레지스트리 및 라우터 포드가 다시 시작됩니다. 레지스트리 및 라우터 인증서도 새 CA로 재배포되지 않은 경우 이전 인증서를 사용하여 마스터에 연결할 수 없기 때문에 중단될 수 있습니다.

12.3.9.1. 수동으로 레지스트리 인증서 재배포

레지스트리 인증서를 수동으로 재배포하려면 registry -certificates라는 보안에 새 레지스트리 인증서를 추가한 다음 레지스트리를 다시 배포해야 합니다.

  1. 다음 단계의 나머지 부분에서 기본 프로젝트로 전환합니다.

    $ oc project default
  2. OpenShift Container Platform 3.1 이하에서 레지스트리가 처음 생성된 경우에도 여전히 환경 변수를 사용하여 인증서를 저장하는 것일 수 있습니다(보안 사용을 위해 더 이상 사용되지 않음).

    1. 다음을 실행하고 OPENSHIFT_CA_DATA, OPENSHIFT_ CERT_DATA,OPENSHIFT_ KEY_DATA 환경 변수를 찾습니다.

      $ oc set env dc/docker-registry --list
    2. 존재하지 않는 경우 이 단계를 건너뜁니다. 이러한 경우 다음 ClusterRoleBinding 을 생성합니다.

      $ cat <<EOF |
      apiVersion: v1
      groupNames: null
      kind: ClusterRoleBinding
      metadata:
        creationTimestamp: null
        name: registry-registry-role
      roleRef:
        kind: ClusterRole
        name: system:registry
      subjects:
      - kind: ServiceAccount
        name: registry
        namespace: default
      userNames:
      - system:serviceaccount:default:registry
      EOF
      oc create -f -

      그런 다음 다음을 실행하여 환경 변수를 제거합니다.

      $ oc set env dc/docker-registry OPENSHIFT_CA_DATA- OPENSHIFT_CERT_DATA- OPENSHIFT_KEY_DATA- OPENSHIFT_MASTER-
  3. 이후 명령을 덜 복잡하게 만들도록 다음 환경 변수를 로컬로 설정합니다.

    $ REGISTRY_IP=`oc get service docker-registry -o jsonpath='{.spec.clusterIP}'`
    $ REGISTRY_HOSTNAME=`oc get route/docker-registry -o jsonpath='{.spec.host}'`
  4. 새 레지스트리 인증서를 생성합니다.

    $ oc adm ca create-server-cert \
        --signer-cert=/etc/origin/master/ca.crt \
        --signer-key=/etc/origin/master/ca.key \
        --hostnames=$REGISTRY_IP,docker-registry.default.svc,docker-registry.default.svc.cluster.local,$REGISTRY_HOSTNAME \
        --cert=/etc/origin/master/registry.crt \
        --key=/etc/origin/master/registry.key \
        --signer-serial=/etc/origin/master/ca.serial.txt

    기본적으로 /etc/ansible/hosts 에서 Ansible 호스트 인벤토리 파일에 나열된 첫 번째 마스터에서만 oc adm 명령을 실행합니다.

  5. 레지스트리 인증서로 registry-certificates 보안을 업데이트합니다.

    $ oc create secret generic registry-certificates \
        --from-file=/etc/origin/master/registry.crt,/etc/origin/master/registry.key \
        -o json --dry-run | oc replace -f -
  6. 레지스트리를 재배포합니다.

    $ oc rollout latest dc/docker-registry
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.