8.2. Kubernetes 보안 클러스터의 init 번들 또는 클러스터 등록 시크릿 생성
보안 클러스터를 설정하기 전에 init 번들 또는 CRS(클러스터 등록 시크릿)를 생성해야 합니다. 그런 다음 보안 클러스터는 이 번들 또는 CRS를 사용하여 Central 인스턴스( Central)로 인증합니다. RHACS 포털 또는 roxctl
CLI를 사용하여 init 번들을 생성할 수 있습니다. 그런 다음 리소스를 생성하는 데 사용하여 init 번들을 적용합니다.
클러스터 등록 보안은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하는 것을 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
보안 클러스터를 설치하는 동안 init 번들 또는 클러스터 등록 시크릿(CRS)을 사용할 수 있습니다. 그러나 RHACS는 아직 포털을 사용하여 CRS를 생성하는 방법을 제공하지 않습니다. 따라서 roxctl
CLI를 사용하여 CRS를 생성해야 합니다.
보안 클러스터를 설정하기 전에 init 번들 또는 CRS를 생성해야 합니다. 그런 다음 보안 클러스터는 이 번들 또는 CRS를 사용하여 Central으로 인증합니다. RHACS 포털 또는 roxctl
CLI를 사용하여 init 번들을 생성할 수 있습니다. CRS를 사용하는 경우 roxctl
CLI를 사용하여 생성해야 합니다.
그런 다음 OpenShift Container Platform kubectl
CLI를 사용하여 init 번들 또는 CRS를 적용할 수 있습니다. Helm을 사용하여 RHACS를 설치하는 경우 helm install
명령을 실행할 때 init 번들 또는 CRS를 제공합니다.
8.2.1. init 번들 생성
8.2.1.1. RHACS 포털을 사용하여 init 번들 생성
RHACS 포털을 사용하여 ACS 콘솔이라고도 하는 시크릿을 포함하는 init 번들을 생성할 수 있습니다.
init 번들을 생성하려면 Admin
사용자 역할이 있어야 합니다.
절차
- RHACS 포털에 로그인합니다.
-
보안 클러스터가 없는 경우 플랫폼 구성
클러스터 페이지가 표시됩니다. - init 번들 생성을 클릭합니다.
- 클러스터 init 번들의 이름을 입력합니다.
- 플랫폼을 선택합니다.
- 보안 클러스터( Operator 또는 Helm 차트 )에 사용할 설치 방법을 선택합니다.
다운로드를 클릭하여 YAML 파일의 형태로 생성되는 init 번들을 생성하고 다운로드합니다. 동일한 설치 방법을 사용하는 경우 하나의 init 번들과 해당 YAML 파일을 모든 보안 클러스터에 사용할 수 있습니다.
중요보안이 포함되어 있으므로 이 번들을 안전하게 저장합니다.
- 보안 클러스터에서 리소스를 생성하는 데 사용하여 init 번들을 적용합니다.
- 각 클러스터에 보안 클러스터 서비스를 설치합니다.
8.2.1.2. roxctl CLI를 사용하여 init 번들 생성
roxctl
CLI를 사용하여 시크릿을 사용하여 init 번들을 생성할 수 있습니다.
init 번들을 생성하려면 Admin
사용자 역할이 있어야 합니다.
사전 요구 사항
ROX_API_TOKEN
및ROX_CENTRAL_ADDRESS
환경 변수를 구성했습니다.다음 명령을 실행하여
ROX_API_TOKEN
을 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow export ROX_API_TOKEN=<api_token>
$ export ROX_API_TOKEN=<api_token>
다음 명령을 실행하여
ROX_CENTRAL_ADDRESS
환경 변수를 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow export ROX_CENTRAL_ADDRESS=<address>:<port_number>
$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>
RHACS 클라우드 서비스에서 중앙 주소가 필요한 roxctl
명령을 사용할 때 Red Hat Hybrid Cloud Console의 인스턴스 세부 정보 섹션에 표시된 대로 Central 인스턴스 주소를 사용합니다. 예를 들어 acs-data-ABCD12345.acs.rhcloud.com
대신 acs-ABCD12345.acs.rhcloud.com
을 사용합니다.
절차
Helm 설치에 대한 시크릿이 포함된 클러스터 init 번들을 생성하려면 다음 명령을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output \ cluster_init_bundle.yaml
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output \ cluster_init_bundle.yaml
Operator 설치에 대한 보안이 포함된 클러스터 init 번들을 생성하려면 다음 명령을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output-secrets \ cluster_init_bundle.yaml
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output-secrets \ cluster_init_bundle.yaml
중요시크릿이 포함되어 있으므로 이 번들을 안전하게 저장해야 합니다. 동일한 번들을 사용하여 여러 보안 클러스터를 설정할 수 있습니다.
8.2.2. CR 생성
8.2.2.1. roxctl CLI를 사용하여 CRS 생성
roxctl
CLI를 사용하여 클러스터 등록 시크릿을 생성할 수 있습니다.
CR을 생성하려면 Admin
사용자 역할이 있어야 합니다.
사전 요구 사항
ROX_API_TOKEN
및ROX_CENTRAL_ADDRESS
환경 변수를 구성했습니다.다음 명령을 실행하여
ROX_API_TOKEN
을 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow export ROX_API_TOKEN=<api_token>
$ export ROX_API_TOKEN=<api_token>
다음 명령을 실행하여
ROX_CENTRAL_ADDRESS
환경 변수를 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow export ROX_CENTRAL_ADDRESS=<address>:<port_number>
$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>
RHACS 클라우드 서비스에서 중앙 주소가 필요한 roxctl
명령을 사용할 때 Red Hat Hybrid Cloud Console의 인스턴스 세부 정보 섹션에 표시된 대로 Central 인스턴스 주소를 사용합니다. 예를 들어 acs-data-ABCD12345.acs.rhcloud.com
대신 acs-ABCD12345.acs.rhcloud.com
을 사용합니다.
절차
CRS를 생성하려면 다음 명령을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctl -e "$ROX_CENTRAL_ADDRESS" \ central crs generate <crs_name> \ --output <file_name>
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central crs generate <crs_name> \
1 --output <file_name>
2 중요보안이 포함되어 있으므로 이 파일을 안전하게 저장해야 합니다. 동일한 파일을 사용하여 여러 개의 보안 클러스터를 설정할 수 있습니다. 이전에 생성된 CRS를 검색할 수 없습니다.
선택한 출력에 따라 이 명령은 CRS 및 YAML 파일에 대한 INFO 메시지를 반환할 수 있습니다.
샘플 출력
INFO: Successfully generated new CRS INFO: INFO: Name: test-crs INFO: Created at: 2025-02-26T19:07:21Z INFO: Expires at: 2026-02-26T19:07:00Z INFO: Created By: sample-token INFO: ID: 9214a63f-7e0e-485a-baae-0757b0860ac9 # This is a StackRox Cluster Registration Secret (CRS). # It is used for setting up StackRox secured clusters. # NOTE: This file contains secret data that allows connecting new secured clusters to central, # and needs to be handled and stored accordingly. apiVersion: v1 data: crs: EXAMPLEZXlKMlpYSnphVzl1SWpveExDSkRRWE1pT2xzaUxTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwREXAMPLE= kind: Secret metadata: annotations: crs.platform.stackrox.io/created-at: "2025-02-26T19:07:21.800414339Z" crs.platform.stackrox.io/expires-at: "2026-02-26T19:07:00Z" crs.platform.stackrox.io/id: 9214a63f-7e0e-485a-baae-0757b0860ac9 crs.platform.stackrox.io/name: test-crs creationTimestamp: null name: cluster-registration-secret INFO: Then CRS needs to be stored securely, since it contains secrets. INFO: It is not possible to retrieve previously generated CRSs.
INFO: Successfully generated new CRS
INFO:
INFO: Name: test-crs
INFO: Created at: 2025-02-26T19:07:21Z
INFO: Expires at: 2026-02-26T19:07:00Z
INFO: Created By: sample-token
INFO: ID: 9214a63f-7e0e-485a-baae-0757b0860ac9
# This is a StackRox Cluster Registration Secret (CRS).
# It is used for setting up StackRox secured clusters.
# NOTE: This file contains secret data that allows connecting new secured clusters to central,
# and needs to be handled and stored accordingly.
apiVersion: v1
data:
crs: EXAMPLEZXlKMlpYSnphVzl1SWpveExDSkRRWE1pT2xzaUxTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwREXAMPLE=
kind: Secret
metadata:
annotations:
crs.platform.stackrox.io/created-at: "2025-02-26T19:07:21.800414339Z"
crs.platform.stackrox.io/expires-at: "2026-02-26T19:07:00Z"
crs.platform.stackrox.io/id: 9214a63f-7e0e-485a-baae-0757b0860ac9
crs.platform.stackrox.io/name: test-crs
creationTimestamp: null
name: cluster-registration-secret
INFO: Then CRS needs to be stored securely, since it contains secrets.
INFO: It is not possible to retrieve previously generated CRSs.