3.6.2.2.2. 미러 호스트 준비
미러 단계를 수행하기 전에 호스트는 콘텐츠를 검색하고 원격 위치로 푸시할 준비가 되어 있어야 합니다.
3.6.2.2.2.1. 바이너리를 다운로드하여 OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 인터페이스를 사용하여 OpenShift Container Platform과 상호 작용하기 위해 OpenShift CLI(oc)를 설치할 수 있습니다. Linux, Windows 또는 macOS에 oc를 설치할 수 있습니다.
이전 버전의 oc 를 설치한 경우 OpenShift Container Platform 4.15의 모든 명령을 완료하는 데 해당 버전을 사용할 수 없습니다. 새 버전의 oc를 다운로드하여 설치합니다. 연결이 끊긴 환경에서 클러스터를 업데이트하는 경우 업데이트할 oc 버전을 설치합니다.
3.6.2.2.2.1.1. Linux에서 OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차를 사용하여 Linux에서 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다.
프로세스
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 제품 변형 드롭다운 목록에서 아키텍처를 선택합니다.
- 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
- OpenShift v4.15 Linux Clients 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
아카이브의 압축을 풉니다.
$ tar xvf <file>oc바이너리를PATH에 있는 디렉터리에 배치합니다.PATH를 확인하려면 다음 명령을 실행합니다.$ echo $PATH
검증
OpenShift CLI를 설치한 후
oc명령을 사용할 수 있습니다.$ oc <command>
3.6.2.2.2.1.2. Windows에서 OpenSfhit CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차를 사용하여 Windows에 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다. .Procedure
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
- OpenShift v4.15 Windows Client 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
- ZIP 프로그램으로 아카이브의 압축을 풉니다.
oc바이너리를PATH에 있는 디렉터리로 이동합니다.PATH를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.C:\> path
검증
OpenShift CLI를 설치한 후
oc명령을 사용할 수 있습니다.C:\> oc <command>
3.6.2.2.2.1.3. macOS에 OpenShift CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차를 사용하여 macOS에 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다. .Procedure
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
OpenShift v4.15 macOS Clients 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
참고macOS arm64의 경우 OpenShift v4.15 macOS arm64 Client 항목을 선택합니다.
- 아카이브의 압축을 해제하고 압축을 풉니다.
oc바이너리 PATH의 디렉터리로 이동합니다.PATH를 확인하려면 터미널을 열고 다음 명령을 실행합니다.$ echo $PATH
검증
oc명령을 사용하여 설치를 확인합니다.$ oc <command>
3.6.2.2.2.2. 이미지를 미러링할 수 있는 인증 정보 설정 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat에서 미러로 이미지를 미러링할 수 있는 컨테이너 이미지 레지스트리 인증 정보 파일을 생성합니다.
클러스터를 설치할 때 이 이미지 레지스트리 인증 정보 파일을 풀 시크릿(pull secret)으로 사용하지 마십시오. 클러스터를 설치할 때 이 파일을 지정하면 클러스터의 모든 시스템에 미러 레지스트리에 대한 쓰기 권한이 부여됩니다.
이 프로세스에서는 미러 레지스트리의 컨테이너 이미지 레지스트리에 대한 쓰기 권한이 있어야 하며 인증 정보를 레지스트리 풀 시크릿에 추가해야 합니다.
사전 요구 사항
- 연결이 끊긴 환경에서 사용할 미러 레지스트리를 구성했습니다.
- 미러 레지스트리에서 이미지를 미러링할 이미지 저장소 위치를 확인했습니다.
- 이미지를 해당 이미지 저장소에 업로드할 수 있는 미러 레지스트리 계정을 제공하고 있습니다.
프로세스
설치 호스트에서 다음 단계를 수행합니다.
-
Red Hat OpenShift Cluster Manager에서
registry.redhat.io풀 시크릿을 다운로드합니다. 풀 시크릿을 JSON 형식으로 복사합니다.
$ cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json>1 - 1
- 풀 시크릿을 저장할 폴더의 경로와 생성한 JSON 파일의 이름을 지정합니다.
파일의 내용은 다음 예와 유사합니다.
{ "auths": { "cloud.openshift.com": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "quay.io": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "registry.connect.redhat.com": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" }, "registry.redhat.io": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" } } }
선택 사항: oc-mirror 플러그인을 사용하는 경우 파일을
~/.docker/config.json또는$XDG_RUNTIME_DIR/containers/auth.json으로 저장합니다..docker또는$XDG_RUNTIME_DIR/containers디렉터리가 없는 경우 다음 명령을 입력하여 만듭니다.$ mkdir -p <directory_name>여기서
<directory_name>은~/.docker또는$XDG_RUNTIME_DIR/containers입니다.다음 명령을 입력하여 풀 시크릿을 적절한 디렉터리에 복사합니다.
$ cp <path>/<pull_secret_file_in_json> <directory_name>/<auth_file>여기서 <
directory_name>은~/.docker또는$XDG_RUNTIME_DIR/containers이며 <auth_file>은config.json또는auth.json입니다.
미러 레지스트리에 대한 base64로 인코딩된 사용자 이름 및 암호 또는 토큰을 생성합니다.
$ echo -n '<user_name>:<password>' | base64 -w01 BGVtbYk3ZHAtqXs=- 1
<user_name>및<password>의 경우 레지스트리에 설정한 사용자 이름 및 암호를 지정합니다.
JSON 파일을 편집하고 레지스트리를 설명하는 섹션을 추가합니다.
"auths": { "<mirror_registry>": {1 "auth": "<credentials>",2 "email": "you@example.com" } },- 1
<mirror_registry>의 경우 미러 레지스트리가 콘텐츠를 제공하는데 사용하는 레지스트리 도메인 이름 및 포트 (선택 사항)를 지정합니다. 예:registry.example.com또는registry.example.com:8443- 2
<credentials>의 경우 미러 레지스트리에 대해 base64로 인코딩된 사용자 이름 및 암호를 지정합니다.파일은 다음 예제와 유사합니다.
{ "auths": { "registry.example.com": { "auth": "BGVtbYk3ZHAtqXs=", "email": "you@example.com" }, "cloud.openshift.com": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "quay.io": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "registry.connect.redhat.com": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" }, "registry.redhat.io": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" } } }