3.4. 모든 보안 클러스터 업그레이드
중앙 서비스를 업그레이드한 후 모든 보안 클러스터를 업그레이드해야 합니다.
자동 업그레이드를 사용하는 경우:
자동 업그레이드를 사용하지 않는 경우 Central 클러스터를 포함한 모든 보안 클러스터에 대한 이 섹션의 지침을 실행해야 합니다.
- 최적의 기능을 유지하려면 보안 클러스터에 동일한 RHACS 버전을 사용하고 Central이 설치된 클러스터를 사용합니다.
센서, 수집기 및 Admission 컨트롤러를 실행하는 각 보안 클러스터의 수동 업그레이드를 완료하려면 이 섹션의 지침을 따르십시오.
3.4.1. 다른 이미지 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
자동 업그레이드를 사용하지 않는 경우 각 보안 클러스터에서 센서, 수집기 및 규정 준수 이미지를 업데이트해야 합니다.
Kubernetes를 사용하는 경우 이 절차에 나열된 명령에 oc
대신 kubectl
을 사용합니다.
프로세스
센서 이미지를 업데이트합니다.
oc -n stackrox set image deploy/sensor sensor=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.8.3
$ oc -n stackrox set image deploy/sensor sensor=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.8.3
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
대신kubectl
을 입력합니다.
Compliance 이미지를 업데이트합니다.
oc -n stackrox set image ds/collector compliance=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.8.3
$ oc -n stackrox set image ds/collector compliance=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.8.3
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
대신kubectl
을 입력합니다.
수집기 이미지를 업데이트합니다.
oc -n stackrox set image ds/collector collector=registry.redhat.io/advanced-cluster-security/rhacs-collector-rhel8:4.8.3
$ oc -n stackrox set image ds/collector collector=registry.redhat.io/advanced-cluster-security/rhacs-collector-rhel8:4.8.3
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
대신kubectl
을 입력합니다.
승인 제어 이미지를 업데이트합니다.
oc -n stackrox set image deploy/admission-control admission-control=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.8.3
$ oc -n stackrox set image deploy/admission-control admission-control=registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.8.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
roxctl
CLI를 사용하여 Red Hat OpenShift에 RHACS를 설치한 경우 SCC(보안 컨텍스트 제약 조건)를 마이그레이션해야 합니다.
자세한 내용은 "추가 리소스" 섹션의 "수동 업그레이드 중 SCC 마이그레이션"을 참조하십시오.
3.4.2. 센서 및 승인 제어 배포에 POD_NAMESPACE 추가 링크 복사링크가 클립보드에 복사되었습니다!
4.6 이전 버전에서 버전 4.6 이상으로 업그레이드할 때 sensor 및 admission-control 배포를 패치하여 POD_NAMESPACE
환경 변수를 설정해야 합니다.
Kubernetes를 사용하는 경우 이 절차에 나열된 명령에 oc
대신 kubectl
을 사용합니다.
프로세스
다음 명령을 실행하여
POD_NAMESPACE
가 설정되었는지 확인하는 패치 센서입니다.[[ -z "$(oc -n stackrox get deployment sensor -o yaml | grep POD_NAMESPACE)" ]] && oc -n stackrox patch deployment sensor --type=json -p '[{"op":"add","path":"/spec/template/spec/containers/0/env/-","value":{"name":"POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}}]'
$ [[ -z "$(oc -n stackrox get deployment sensor -o yaml | grep POD_NAMESPACE)" ]] && oc -n stackrox patch deployment sensor --type=json -p '[{"op":"add","path":"/spec/template/spec/containers/0/env/-","value":{"name":"POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}}]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
POD_NAMESPACE
가 설정되었는지 확인하는 패치 admission-control[[ -z "$(oc -n stackrox get deployment admission-control -o yaml | grep POD_NAMESPACE)" ]] && oc -n stackrox patch deployment admission-control --type=json -p '[{"op":"add","path":"/spec/template/spec/containers/0/env/-","value":{"name":"POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}}]'
$ [[ -z "$(oc -n stackrox get deployment admission-control -o yaml | grep POD_NAMESPACE)" ]] && oc -n stackrox patch deployment admission-control --type=json -p '[{"op":"add","path":"/spec/template/spec/containers/0/env/-","value":{"name":"POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}}]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
3.4.3. 수동 업그레이드 중 SCC 마이그레이션 링크 복사링크가 클립보드에 복사되었습니다!
roxctl
CLI를 사용하여 수동 업그레이드 중에 SCC(보안 컨텍스트 제약 조건)를 마이그레이션하면 RHACS(Red Hat Advanced Cluster Security for Kubernetes) 서비스를 원활하게 전환하여 Red Hat OpenShift SCC를 사용하여 중앙 및 모든 보안 클러스터 전체에서 호환성과 최적의 보안 구성을 보장할 수 있습니다.
프로세스
중앙 및 모든 보안 클러스터에 배포된 모든 RHACS 서비스를 나열합니다.
oc -n stackrox describe pods | grep 'openshift.io/scc\|^Name:'
$ oc -n stackrox describe pods | grep 'openshift.io/scc\|^Name:'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는 각 Pod에
openshift.io/scc
필드를 통해 지정된 고유한 사용자 지정 SCC가 있음을 확인할 수 있습니다.RHACS 사용자 지정 SCC 대신 Red Hat OpenShift SCC를 사용하는 데 필요한 역할 및 역할 바인딩을 추가합니다.
중앙 클러스터에 Red Hat OpenShift SCC를 사용하기 위해 필요한 역할 및 역할 바인딩을 추가하려면 다음 단계를 완료하십시오.
다음 콘텐츠를 사용하여 역할 및 역할 바인딩 리소스를 정의하는
update-central.yaml
파일을 생성합니다.다음 명령을 실행하여
update-central.yaml
파일에 지정된 역할 및 역할 바인딩 리소스를 생성합니다.oc -n stackrox create -f ./update-central.yaml
$ oc -n stackrox create -f ./update-central.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
모든 보안 클러스터에 Red Hat OpenShift SCC를 사용하기 위해 필요한 역할 및 역할 바인딩을 추가하려면 다음 단계를 완료하십시오.
다음 콘텐츠를 사용하여 역할 및 역할 바인딩 리소스를 정의하는
upgrade-scs.yaml
이라는 파일을 생성합니다.다음 명령을 실행하여
upgrade-scs.yaml
파일에 지정된 역할 및 역할 바인딩 리소스를 생성합니다.oc -n stackrox create -f ./update-scs.yaml
$ oc -n stackrox create -f ./update-scs.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요upgrade-scs.yaml
파일에 지정된 역할 및 역할 바인딩을 생성하려면 각 보안 클러스터에서 이 명령을 실행해야 합니다.
RHACS와 관련된 SCC를 삭제합니다.
중앙 클러스터와 관련된 SCC를 삭제하려면 다음 명령을 실행합니다.
oc delete scc/stackrox-central scc/stackrox-central-db scc/stackrox-scanner
$ oc delete scc/stackrox-central scc/stackrox-central-db scc/stackrox-scanner
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 보안 클러스터에 고유한 SCC를 삭제하려면 다음 명령을 실행합니다.
oc delete scc/stackrox-admission-control scc/stackrox-collector scc/stackrox-sensor
$ oc delete scc/stackrox-admission-control scc/stackrox-collector scc/stackrox-sensor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요보안된 각 클러스터에서 이 명령을 실행하여 보안된 각 클러스터에 고유한 SCC를 삭제해야 합니다.
검증
다음 명령을 실행하여 모든 Pod가 올바른 SCC를 사용하고 있는지 확인합니다.
oc -n stackrox describe pods | grep 'openshift.io/scc\|^Name:'
$ oc -n stackrox describe pods | grep 'openshift.io/scc\|^Name:'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 표와 출력을 비교합니다.
Expand Component 이전 사용자 정의 SCC 새로운 Red Hat OpenShift 4 SCC Central
stackrox-central
nonroot-v2
Central-db
stackrox-central-db
nonroot-v2
스캐너
stackrox-scanner
nonroot-v2
scanner-db
stackrox-scanner
nonroot-v2
Admission Controller
stackrox-admission-control
restricted-v2
수집기
stackrox-collector
privileged
센서
stackrox-sensor
restricted-v2
3.4.3.1. 센서 배포에 대한 GOMEMLIMIT 환경 변수 편집 링크 복사링크가 클립보드에 복사되었습니다!
버전 4.4로 업그레이드하려면 GOMEMLIMIT
환경 변수를 ROX_MEMLIMIT
환경 변수로 교체해야 합니다. 각 배포에 대해 이 변수를 편집해야 합니다.
프로세스
다음 명령을 실행하여 센서 배포에 대한 변수를 편집합니다.
oc -n stackrox edit deploy/sensor
$ oc -n stackrox edit deploy/sensor
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
대신kubectl
을 입력합니다.
-
GOMEMLIMIT
변수를ROX_MEMLIMIT
로 바꿉니다. - 파일을 저장합니다.
3.4.3.2. 수집기 배포에 대한 GOMEMLIMIT 환경 변수 편집 링크 복사링크가 클립보드에 복사되었습니다!
버전 4.4로 업그레이드하려면 GOMEMLIMIT
환경 변수를 ROX_MEMLIMIT
환경 변수로 교체해야 합니다. 각 배포에 대해 이 변수를 편집해야 합니다.
프로세스
다음 명령을 실행하여 수집기 배포에 대한 변수를 편집합니다.
oc -n stackrox edit deploy/collector
$ oc -n stackrox edit deploy/collector
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
대신kubectl
을 입력합니다.
-
GOMEMLIMIT
변수를ROX_MEMLIMIT
로 바꿉니다. - 파일을 저장합니다.
3.4.3.3. Admission Controller 배포를 위한 GOMEMLIMIT 환경 변수 편집 링크 복사링크가 클립보드에 복사되었습니다!
버전 4.4로 업그레이드하려면 GOMEMLIMIT
환경 변수를 ROX_MEMLIMIT
환경 변수로 교체해야 합니다. 각 배포에 대해 이 변수를 편집해야 합니다.
프로세스
다음 명령을 실행하여 Admission Controller 배포의 변수를 편집합니다.
oc -n stackrox edit deploy/admission-control
$ oc -n stackrox edit deploy/admission-control
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes를 사용하는 경우
oc
대신kubectl
을 입력합니다.
-
GOMEMLIMIT
변수를ROX_MEMLIMIT
로 바꿉니다. - 파일을 저장합니다.
3.4.3.4. 보안 클러스터 업그레이드 확인 링크 복사링크가 클립보드에 복사되었습니다!
보안 클러스터를 업그레이드한 후 업데이트된 Pod가 작동하는지 확인합니다.
프로세스
새 Pod가 배포되었는지 확인합니다.
oc get deploy,ds -n stackrox -o wide
$ oc get deploy,ds -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
을 입력합니다.