1장. Fuse Online 업그레이드
Fuse Online 업그레이드 프로세스는 Fuse Online이 Red Hat OpenShift Online 또는 OCP(OpenShift Container Platform)에 설치되어 있는지에 따라 다릅니다.
- OpenShift Online - Fuse 7.8이 릴리스되면 OpenShift Online의 Fuse Online 인프라가 자동으로 업그레이드됩니다. OpenShift Online에서 실행 중인 Upgrading Fuse Online 통합에 설명된 대로 실행 중인 모든 통합을 다시 게시해야 합니다.
OCP - OpenShift Container Platform 현장에서 실행 중인 Fuse Online 환경을 업그레이드하려면 먼저 업그레이드 전에 Access Docker 이미지에 설명된 대로 Fuse 백업 및 복원 데이터베이스의 Docker 이미지에 대한 액세스를 설정해야 합니다.
Fuse 업그레이드 절차는 Fuse를 설치하는 방법에 따라 다릅니다.
- OperatorHub를 사용하여 Fuse를 설치한 경우 OperatorHub를 사용하여 Fuse 업그레이드를 참조하십시오.
- 설치 스크립트를 사용하여 Fuse를 설치한 경우 설치 스크립트를 사용하여 Fuse 업그레이드를 참조하십시오.
통합을 업그레이드하려면 Camel 마이그레이션 고려 사항에 설명된 대로 Apache Camel 업데이트도 고려해야 합니다.
1.1. 업그레이드하기 전에 Docker 이미지에 액세스
기본적으로 Fuse Online 업그레이드 프로세스에서는 registry.redhat.io
에서 가져오는 대신 Fuse Online 백업의 Docker 이미지를 가져오고 docker.io
레지스트리에서 데이터베이스를 복원합니다(알려진 문제 https://issues.redhat.com/browse/ENTESB-15364에 설명된 대로). docker.io
는 무료 다운로드에 서비스 제한을 적용하므로 백업 및 복원 데이터베이스 이미지를 다운로드하려고 할 때 Fuse Online 업그레이드 프로세스에서 다음 오류가 발생할 수 있습니다.
error: code = Unknown desc = toomanyrequests: You have reached your pull rate limit
Docker Hub 풀 속도 제한에 대한 자세한 내용은 Docker 문서(https://www.docker.com/increase-rate-limits)를 참조하십시오.
Docker 제한 오류가 발생하지 않도록 하려면 Fuse Online 업그레이드 프로세스를 시작하기 전에 Docker 이미지에 액세스할 수 있는지 확인하십시오. Docker 이미지에 액세스하는 방법은 OCP(OpenShift Container Platform) 버전에 따라 다릅니다.
- OCP 4.6의 경우 OCP 4.6의 Docker 이미지 액세스에 설명된 대로 기존 개요 풀 시크릿에 Docker Hub 인증 정보를 추가합니다. syndesis 풀 시크릿에 Docker 인증 정보를 추가하면 Docker Hub 계정 유형에 따라 API의 Docker Hub 제한이 발생합니다.
-
OCP 3.11의 경우 OCP 3.11에서 Docker 이미지 액세스에 설명된 대로
docker.io
의 Fuse Online 백업 및 데이터베이스 이미지를 로컬 캐시로 가져옵니다.
1.1.1. OCP4에서 Docker 이미지에 액세스
가능한 Docker 제한 오류가 발생하지 않도록 하려면 Fuse Online 업그레이드 프로세스를 시작하기 전에 docker 인증 정보를 syndesis 풀 시크릿에 추가합니다.
사전 요구 사항
OpenShift 클러스터 관리자 액세스 권한이 있어야 합니다.
프로세스
기존 syndesis 풀 시크릿에 Docker Hub 인증 정보를 추가하려면 다음을 수행합니다.
관리자 인증 정보를 사용하여 OpenShift에 로그인합니다.
oc login -u system:admin
다음 명령을 실행하여 syndesis 풀 시크릿을 검색합니다.
oc get secrets syndesis-pull-secret -o=custom-columns=SECRET:.data.* --no-headers | base64 -d | jq
이 명령은 다음과 유사한 출력을 반환합니다. 여기서 <AUTH>는 인코딩된 사용자 이름과 암호입니다. base64에서 암호입니다.
{ "auths":{ "registry.redhat.io":{ "username":"<AUTH>", "password":"<AUTH>", "auth":"<AUTH>" }, <You can have more auths elements here> } }
Docker Hub 레지스트리 인증 정보를 추가하려면 풀 시크릿을 편집하고 PULL_SECRET 변수에 저장합니다.
PULL_SECRET=$(base64 -w 0 <<EOF { "auths":{ "registry.redhat.io":{ "username":"<AUTH>", "password":"<AUTH>", "auth":"<AUTH>" }, <You can have more auths elements here> }, "https://index.docker.io/v1/": { "auth": "<AUTH>" } } } EOF )
syndesis 풀 시크릿을 패치하려면 다음 명령을 실행합니다.
oc apply -f - <<EOF apiVersion: v1 kind: Secret metadata: name: syndesis-pull-secret data: .dockerconfigjson: $PULL_SECRET type: kubernetes.io/dockerconfigjson EOF
다음 단계
- OperatorHub를 사용하여 Fuse Online을 설치한 경우 OperatorHub를 사용하여 Fuse Online 업그레이드를 참조하십시오.
- 설치 스크립트를 사용하여 Fuse Online을 설치한 경우 설치 스크립트를 사용하여 Fuse Online 업그레이드를 참조하십시오.
1.1.2. OCP 3.11의 Docker 이미지에 액세스
OCP 3.11에서 Fuse Online 업그레이드 프로세스를 시작하기 전에 Docker 제한 오류가 발생하지 않도록 하려면 docker.io
에서 필요한 이미지를 로컬 캐시로 가져와야 합니다.
사전 요구 사항
OpenShift 클러스터 관리자 액세스 권한이 있어야 합니다.
프로세스
OpenShift 사용자 이름 및 OpenShift 클러스터 URL을 사용하여 OpenShift 노드에 로그인합니다.
ssh login <user>@node1.<clusterUrl>
사용자 이름과 암호를 사용하여 docker에 로그인합니다.
sudo docker login -u <username> -p <password> docker.io
PostgreSQL 이미지를 가져오는 다음 명령을 실행합니다.
sudo docker pull crunchydata/crunchy-pgdump:centos7-10.11-4.2.1 sudo docker pull crunchydata/crunchy-pgrestore:centos7-10.11-4.2.1 sudo docker pull centos:7
PostgresQL 이미지는 OpenShift 노드의 내부 Docker 레지스트리로 가져옵니다.
- 각 OpenShift 노드에 대해 이전 3 단계를 반복합니다.
다음 단계
설치 스크립트를 사용하여 Upgrading Fuse Online 단계에 따라 Fuse Online을 업그레이드합니다.