12.3.9.2. 수동으로 라우터 인증서 재배포
라우터 인증서를 수동으로 재배포하려면 router -certs라는 보안에 새 라우터 인증서를 추가한 다음 라우터
를 다시 배포해야 합니다.
다음 단계의 나머지 부분에서
기본
프로젝트로 전환합니다.$ oc project default
라우터가 처음 OpenShift Container Platform 3.1 이하에서 생성된 경우에도 환경 변수를 사용하여 서비스 제공 인증서 보안을 사용하는 대신 더 이상 사용되지 않는 인증서를 저장할 수 있습니다.
다음 명령을 실행하고
OPENSHIFT_CA_DATA,
환경 변수를 찾습니다.OPENSHIFT_
CERT_DATA,OPENSHIFT_
KEY_DATA$ oc set env dc/router --list
이러한 변수가 있는 경우 다음
ClusterRoleBinding
을 생성합니다.$ cat <<EOF | apiVersion: v1 groupNames: null kind: ClusterRoleBinding metadata: creationTimestamp: null name: router-router-role roleRef: kind: ClusterRole name: system:router subjects: - kind: ServiceAccount name: router namespace: default userNames: - system:serviceaccount:default:router EOF oc create -f -
이러한 변수가 있는 경우 다음 명령을 실행하여 제거합니다.
$ oc set env dc/router OPENSHIFT_CA_DATA- OPENSHIFT_CERT_DATA- OPENSHIFT_KEY_DATA- OPENSHIFT_MASTER-
인증서를 가져옵니다.
- 외부 CA(인증 기관)를 사용하여 인증서에 서명하는 경우 새 인증서를 생성하여 내부 프로세스에 따라 OpenShift Container Platform에 제공합니다.
내부 OpenShift Container Platform CA를 사용하여 인증서에 서명하는 경우 다음 명령을 실행합니다.
중요다음 명령은 내부 서명된 인증서를 생성합니다. OpenShift Container Platform CA를 신뢰하는 클라이언트만 신뢰합니다.
$ cd /root $ mkdir cert ; cd cert $ oc adm ca create-server-cert \ --signer-cert=/etc/origin/master/ca.crt \ --signer-key=/etc/origin/master/ca.key \ --signer-serial=/etc/origin/master/ca.serial.txt \ --hostnames='*.hostnames.for.the.certificate' \ --cert=router.crt \ --key=router.key \
이러한 명령은 다음 파일을 생성합니다.
- router.crt 라는 새 인증서.
- 서명 CA 인증서 체인의 사본인 /etc/origin/master/ca.crt. 중간 CA를 사용하는 경우 이 체인에는 인증서가 2개 이상 포함될 수 있습니다.
- router.key 라는 해당 개인 키입니다.
생성된 인증서를 연결하는 새 파일을 생성합니다.
$ cat router.crt /etc/origin/master/ca.crt router.key > router.pem
참고이 단계는 OpenShift CA에서 서명한 인증서를 사용하는 경우에만 유효합니다. 사용자 정의 인증서를 사용하는 경우
/etc/origin/master/ca.crt
대신 올바른 CA 체인이 있는 파일을 사용해야 합니다.새 보안을 생성하기 전에 현재 보안을 백업하십시오.
$ oc get -o yaml --export secret router-certs > ~/old-router-certs-secret.yaml
새 인증서와 키를 보유할 새 시크릿을 생성하고 기존 보안의 콘텐츠를 교체합니다.
$ oc create secret tls router-certs --cert=router.pem \ 1 --key=router.key -o json --dry-run | \ oc replace -f -
- 1
- router.pem 은 사용자가 생성한 인증서의 연결을 포함하는 파일입니다.
라우터를 재배포합니다.
$ oc rollout latest dc/router
라우터를 처음 배포할 때 router
-metrics-tls라는 서비스 제공 인증서 보안을 자동으로 생성하는 라우터 의 서비스에
주석이 추가됩니다.router-metrics-tls
인증서를 수동으로 재배포하려면 시크릿을 삭제하고, 라우터 서비스에 주석을 제거 및 다시 추가한 다음 router-metrics-tls
보안을 다시 배포하여 서비스 제공 인증서를 다시 트리거할 수 있습니다.라우터
서비스에서 다음 주석을 제거합니다.$ oc annotate service router \ service.alpha.openshift.io/serving-cert-secret-name- \ service.alpha.openshift.io/serving-cert-signed-by-
기존
router-metrics-tls
시크릿을 제거합니다.$ oc delete secret router-metrics-tls
주석을 다시 추가합니다.
$ oc annotate service router \ service.alpha.openshift.io/serving-cert-secret-name=router-metrics-tls