You are viewing documentation for a release that is no longer maintained. To view the documentation for the most recent version, see the latest RHACS docs.
2.2. 중앙 클러스터 업그레이드
중앙 데이터베이스를 백업한 후 다음 단계는 중앙 클러스터를 업그레이드하는 것입니다. 이 단계에는 Central, roxctl
CLI 및 Scanner 업그레이드가 포함됩니다.
2.2.1. Central 업그레이드 링크 복사링크가 클립보드에 복사되었습니다!
업데이트된 이미지를 다운로드하고 배포하여 최신 버전으로 중앙을 업데이트할 수 있습니다.
사전 요구 사항
- 프라이빗 이미지 레지스트리에서 이미지를 배포하는 경우 먼저 새 이미지를 프라이빗 레지스트리로 내보낸 다음 이 섹션에 있는 명령의 이미지 레지스트리를 교체합니다.
절차
다음 명령을 실행하여 Central을 업그레이드합니다.
oc -n stackrox patch deploy/central -p '{"spec":{"template":{"spec":{"containers":[{"name":"central","env":[{"name":"ROX_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]}]}}}}'
$ oc -n stackrox patch deploy/central -p '{"spec":{"template":{"spec":{"containers":[{"name":"central","env":[{"name":"ROX_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]}]}}}}'
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
.. 대신kubectl
을 입력합니다.
oc -n stackrox patch deployment/scanner -p '{"spec":{"template":{"spec":{"containers":[{"name":"scanner","securityContext":{"runAsUser":65534}}]}}}}'
$ oc -n stackrox patch deployment/scanner -p '{"spec":{"template":{"spec":{"containers":[{"name":"scanner","securityContext":{"runAsUser":65534}}]}}}}'
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
.. 대신kubectl
을 입력합니다.
oc -n stackrox set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.71.3
$ oc -n stackrox set image deploy/central central=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:3.71.3
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
.. 대신kubectl
을 입력합니다.
중요Kubernetes 3.65.0용 Red Hat Advanced Cluster Security에서 업그레이드하는 경우 다음 추가 명령을 실행하여
stackrox-central-diagnostics
역할을 생성해야 합니다.oc -n stackrox patch role stackrox-central-diagnostics -p '{"rules":[{"apiGroups":["*"],"resources":["deployments","daemonsets","replicasets","configmaps","services"],"verbs":["get","list"]}]}'
$ oc -n stackrox patch role stackrox-central-diagnostics -p '{"rules":[{"apiGroups":["*"],"resources":["deployments","daemonsets","replicasets","configmaps","services"],"verbs":["get","list"]}]}'
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
.. 대신kubectl
을 입력합니다.
Helm 또는 Operator를 사용하여 Kubernetes용 Red Hat Advanced Cluster Security를 설치하지 않았으며 OpenShift OAuth 서버를 사용하여 인증을 활성화하려면 다음 추가 명령을 실행해야 합니다.
oc -n stackrox set env deploy/central ROX_ENABLE_OPENSHIFT_AUTH=true
$ oc -n stackrox set env deploy/central ROX_ENABLE_OPENSHIFT_AUTH=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
새 Pod가 배포되었는지 확인합니다.
oc get deploy -n stackrox -o wide
$ oc get deploy -n stackrox -o wide
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
.. 대신kubectl
을 입력합니다.
oc get pod -n stackrox --watch
$ oc get pod -n stackrox --watch
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
.. 대신kubectl
을 입력합니다.
2.2.2. roxctl CLI 업그레이드 링크 복사링크가 클립보드에 복사되었습니다!
roxctl
CLI를 최신 버전으로 업그레이드하려면 기존 버전의 roxctl
CLI를 제거한 다음 최신 버전의 roxctl
CLI를 설치해야 합니다.
2.2.2.1. roxctl CLI 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 Linux에서 roxctl
CLI 바이너리를 제거할 수 있습니다.
절차
roxctl
바이너리를 찾아 삭제합니다.ROXPATH=$(which roxctl) && rm -f $ROXPATH
$ ROXPATH=$(which roxctl) && rm -f $ROXPATH
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 환경에 따라
roxctl
바이너리를 삭제하려면 관리자 권한이 필요할 수 있습니다.
2.2.2.2. Linux에서 roxctl CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 Linux에서 roxctl
CLI 바이너리를 설치할 수 있습니다.
절차
최신 버전의
roxctl
CLI를 다운로드합니다.curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Linux/roxctl
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Linux/roxctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctl
바이너리를 실행 가능하게 합니다.chmod +x roxctl
$ chmod +x roxctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctl
바이너리를PATH
에 있는 디렉터리에 배치합니다.PATH
를 확인하려면 다음 명령을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
설치된
roxctl
버전을 확인합니다.roxctl version
$ roxctl version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2.3. macOS에 roxctl CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 macOS에서 roxctl
CLI 바이너리를 설치할 수 있습니다.
절차
최신 버전의
roxctl
CLI를 다운로드합니다.curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Darwin/roxctl
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Darwin/roxctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 바이너리에서 모든 확장 속성을 제거합니다.
xattr -c roxctl
$ xattr -c roxctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctl
바이너리를 실행 가능하게 합니다.chmod +x roxctl
$ chmod +x roxctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctl
바이너리를PATH
에 있는 디렉터리에 배치합니다.PATH
를 확인하려면 다음 명령을 실행합니다.echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
설치된
roxctl
버전을 확인합니다.roxctl version
$ roxctl version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2.4. Windows에 roxctl CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 Windows에서 roxctl
CLI 바이너리를 설치할 수 있습니다.
절차
최신 버전의
roxctl
CLI를 다운로드합니다.curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Windows/roxctl.exe
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.71.3/bin/Windows/roxctl.exe
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
설치된
roxctl
버전을 확인합니다.roxctl version
$ roxctl version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
roxctl
CLI를 업그레이드한 후 스캐너를 업그레이드할 수 있습니다.
2.2.3. 스캐너 업그레이드 링크 복사링크가 클립보드에 복사되었습니다!
roxctl
CLI를 사용하여 scanner를 최신 버전으로 업데이트할 수 있습니다.
사전 요구 사항
- 개인 이미지 레지스트리에서 이미지를 배포하는 경우 먼저 새 이미지를 프라이빗 레지스트리로 푸시한 다음, 개인 이미지 레지스트리 이름을 사용하도록 다음 섹션의 명령을 편집해야 합니다.
절차
사용자 정의 스캐너 구성을 생성한 경우 스캐너 구성 파일을 업데이트하기 전에 해당 변경 사항을 적용해야 합니다.
다음
roxctl
명령을 사용하여 Scanner를 생성합니다.roxctl -e "$ROX_CENTRAL_ADDRESS" scanner generate
$ roxctl -e "$ROX_CENTRAL_ADDRESS" scanner generate
Copy to Clipboard Copied! Toggle word wrap Toggle overflow TLS 보안 YAML 파일을 적용합니다.
OpenShift Container Platform을 사용하는 경우 다음 명령을 입력합니다.
oc apply -f scanner-bundle/scanner/02-scanner-03-tls-secret.yaml
$ oc apply -f scanner-bundle/scanner/02-scanner-03-tls-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes를 사용하는 경우 다음 명령을 입력합니다.
kubectl apply -f scanner-bundle/scanner/02-scanner-03-tls-secret.yaml
$ kubectl apply -f scanner-bundle/scanner/02-scanner-03-tls-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
scanner 구성 YAML 파일을 적용합니다.
OpenShift Container Platform을 사용하는 경우 다음 명령을 입력합니다.
oc apply -f scanner-bundle/scanner/02-scanner-04-scanner-config.yaml
$ oc apply -f scanner-bundle/scanner/02-scanner-04-scanner-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes를 사용하는 경우 다음 명령을 입력합니다.
kubectl apply -f scanner-bundle/scanner/02-scanner-04-scanner-config.yaml
$ kubectl apply -f scanner-bundle/scanner/02-scanner-04-scanner-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
scanner 이미지를 업데이트합니다.
OpenShift Container Platform을 사용하는 경우 다음 명령을 입력합니다.
oc -n stackrox set image deploy/scanner scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:3.71.3
$ oc -n stackrox set image deploy/scanner scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:3.71.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes를 사용하는 경우 다음 명령을 입력합니다.
kubectl -n stackrox set image deploy/scanner scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:3.71.3
$ kubectl -n stackrox set image deploy/scanner scanner=registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:3.71.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
scanner 데이터베이스 이미지를 업데이트합니다.
OpenShift Container Platform을 사용하는 경우 다음 명령을 입력합니다.
oc -n stackrox set image deploy/scanner-db db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3
$ oc -n stackrox set image deploy/scanner-db db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes를 사용하는 경우 다음 명령을 입력합니다.
kubectl -n stackrox set image deploy/scanner-db db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3
$ kubectl -n stackrox set image deploy/scanner-db db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3 init-db=registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:3.71.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
새 Pod가 성공적으로 배포되었는지 확인합니다.
OpenShift Container Platform을 사용하는 경우 다음 명령을 입력합니다.
oc get pod -n stackrox --watch
$ oc get pod -n stackrox --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes를 사용하는 경우 다음 명령을 입력합니다.
kubectl get pod -n stackrox --watch
$ kubectl get pod -n stackrox --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.3.1. RHACS 버전 3.71로 업그레이드 링크 복사링크가 클립보드에 복사되었습니다!
roxctl
CLI 및 YAML 파일을 사용하여 RHACS 3.71로 업그레이드하는 경우 몇 가지 추가 단계를 수행해야 합니다. scanner DB 이미지는 더 이상 scanner-db-password
Kubernetes 시크릿을 db
Scanner DB 컨테이너에 마운트하지 않습니다. 대신 scanner-db-password
는 init 컨테이너 init-db
에서만 사용됩니다. 따라서 init 컨테이너 구성에 POSTGRES_PASSWORD_FILE
환경 변수를 추가해야 합니다. init 컨테이너는 scanner-db-tls-volume
및 scanner-db-password
볼륨도 마운트해야 합니다. 다음 섹션에서는 OpenShift Container Platform 또는 Kubernetes를 사용하는 경우 RHACS의 업그레이드 단계를 제공합니다. init 컨테이너에 대한 자세한 내용은 Kubernetes 설명서를 참조하십시오.
사전 요구 사항
-
이 절차에서는 Scanner DB 구성의
db
컨테이너가컨테이너
목록의 첫 번째 항목인인덱스 0
에 있고,scanner-db-password
볼륨 마운트는 세 번째 항목인인덱스 2
에 있다고 가정합니다.
이 시나리오는 대부분의 배포에 적용되지만 이러한 명령을 입력하기 전에 스캐너 DB 구성을 확인하십시오. 값이 다르면 다음 명령에서 …/containers/x/volumeMounts/y
값을 조정해야 합니다.
절차
패치를 적용합니다.
OpenShift Container Platform을 사용하는 경우 다음 명령을 입력합니다.
oc -n stackrox patch deployment.apps/scanner-db --patch '{"spec":{"template":{"spec":{"initContainers":[{"name":"init-db","env":[{"name":"POSTGRES_PASSWORD_FILE","value":"/run/secrets/stackrox.io/secrets/password"}],"command":["/usr/local/bin/docker-entrypoint.sh","postgres","-c","config_file=/etc/postgresql.conf"],"volumeMounts":[{"name":"db-data","mountPath":"/var/lib/postgresql/data"},{"name":"scanner-db-tls-volume","mountPath":"/run/secrets/stackrox.io/certs","readOnly":true},{"name":"scanner-db-password","mountPath":"/run/secrets/stackrox.io/secrets","readOnly":true}],"securityContext":{"runAsGroup":70,"runAsNonRoot":true,"runAsUser":70}}]}}}}'
$ oc -n stackrox patch deployment.apps/scanner-db --patch '{"spec":{"template":{"spec":{"initContainers":[{"name":"init-db","env":[{"name":"POSTGRES_PASSWORD_FILE","value":"/run/secrets/stackrox.io/secrets/password"}],"command":["/usr/local/bin/docker-entrypoint.sh","postgres","-c","config_file=/etc/postgresql.conf"],"volumeMounts":[{"name":"db-data","mountPath":"/var/lib/postgresql/data"},{"name":"scanner-db-tls-volume","mountPath":"/run/secrets/stackrox.io/certs","readOnly":true},{"name":"scanner-db-password","mountPath":"/run/secrets/stackrox.io/secrets","readOnly":true}],"securityContext":{"runAsGroup":70,"runAsNonRoot":true,"runAsUser":70}}]}}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes를 사용하는 경우 다음 명령을 입력합니다.
kubectl -n stackrox patch deployment.apps/scanner-db --patch '{"spec":{"template":{"spec":{"initContainers":[{"name":"init-db","env":[{"name":"POSTGRES_PASSWORD_FILE","value":"/run/secrets/stackrox.io/secrets/password"}],"command":["/usr/local/bin/docker-entrypoint.sh","postgres","-c","config_file=/etc/postgresql.conf"],"volumeMounts":[{"name":"db-data","mountPath":"/var/lib/postgresql/data"},{"name":"scanner-db-tls-volume","mountPath":"/run/secrets/stackrox.io/certs","readOnly":true},{"name":"scanner-db-password","mountPath":"/run/secrets/stackrox.io/secrets","readOnly":true}],"securityContext":{"runAsGroup":70,"runAsNonRoot":true,"runAsUser":70}}]}}}}'
$ kubectl -n stackrox patch deployment.apps/scanner-db --patch '{"spec":{"template":{"spec":{"initContainers":[{"name":"init-db","env":[{"name":"POSTGRES_PASSWORD_FILE","value":"/run/secrets/stackrox.io/secrets/password"}],"command":["/usr/local/bin/docker-entrypoint.sh","postgres","-c","config_file=/etc/postgresql.conf"],"volumeMounts":[{"name":"db-data","mountPath":"/var/lib/postgresql/data"},{"name":"scanner-db-tls-volume","mountPath":"/run/secrets/stackrox.io/certs","readOnly":true},{"name":"scanner-db-password","mountPath":"/run/secrets/stackrox.io/secrets","readOnly":true}],"securityContext":{"runAsGroup":70,"runAsNonRoot":true,"runAsUser":70}}]}}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
경로를 제거합니다.
OpenShift Container Platform을 사용하는 경우 다음 명령을 입력합니다.
oc -n stackrox patch deployment.apps/scanner-db --type json --patch '[{"op":"remove","path":"/spec/template/spec/containers/0/volumeMounts/2"}]'
$ oc -n stackrox patch deployment.apps/scanner-db --type json --patch '[{"op":"remove","path":"/spec/template/spec/containers/0/volumeMounts/2"}]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes를 사용하는 경우 다음 명령을 입력합니다.
kubectl -n stackrox patch deployment.apps/scanner-db --type json --patch '[{"op":"remove","path":"/spec/template/spec/containers/0/volumeMounts/2"}]'
$ kubectl -n stackrox patch deployment.apps/scanner-db --type json --patch '[{"op":"remove","path":"/spec/template/spec/containers/0/volumeMounts/2"}]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.4. 중앙 클러스터 업그레이드 확인 링크 복사링크가 클립보드에 복사되었습니다!
중앙과 스캐너를 모두 업그레이드한 후 중앙 클러스터 업그레이드가 완료되었는지 확인합니다.
절차
중앙 로그를 확인합니다.
OpenShift Container Platform을 사용하는 경우 다음 명령을 입력합니다.
oc logs -n stackrox deploy/central -c central
$ oc logs -n stackrox deploy/central -c central
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes를 사용하는 경우 다음 명령을 입력합니다.
kubectl logs -n stackrox deploy/central -c central
$ kubectl logs -n stackrox deploy/central -c central
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
성공적인 업그레이드의 샘플