
stackrox v4.11.3-rc.4
StackRox Kubernetes Security Platform은 컨테이너 환경의 위험 분석을 수행하고, 가시성 및 런타임 알림을 제공하며, 환경을 강화하여 사전에 보안을 개선하기 위한 권장 사항을 제공합니다.
목차
StackRox 쿠버네티스 보안 플랫폼
StackRox 쿠버네티스 보안 플랫폼은 컨테이너 환경의 위험 분석을 수행하고, 가시성 및 런타임 알림을 제공하며, 환경을 강화하여 사전에 보안을 개선하기 위한 권장 사항을 제공합니다. StackRox는 컨테이너 수명 주기의 모든 단계(빌드, 배포, 런타임)와 통합됩니다.
StackRox 쿠버네티스 보안 플랫폼은 이전에 Prevent로 알려졌던 제품을 기반으로 구축되었으며, Prevent는 이전에 Mitigate 및 Apollo라고 불렸습니다. 코드나 문서에서 이러한 이전 이름에 대한 참조를 찾을 수 있습니다.
커뮤니티
Slack (#stackrox)을 통해 문의하실 수 있습니다. 다른 방법으로는 커뮤니티 허브 stackrox.io를 방문해 주세요.
이벤트 업데이트, 블로그 및 기타 리소스를 보려면 StackRox 커뮤니티 사이트 stackrox.io를 팔로우하세요.
StackRox 행동 강령에 대해서는.
취약점 또는 버그를 신고하려면.
StackRox 배포
Operator를 사용한 설치
릴리스 4.10부터 Operator를 사용하여 StackRox를 설치할 수 있습니다.
[!WARNING] 다음 설치 방법은 더 이상 사용되지 않습니다.
Helm을 사용한 빠른 설치
StackRox는 Helm 차트를 통한 빠른 설치를 제공합니다. Helm 설치 가이드에 따라 시스템에 helm CLI를 설치하세요. 그런 다음 helm 빠른 설치 스크립트를 실행하거나 구성 옵션을 위해 Helm을 사용한 수동 설치 섹션으로 이동하세요.
Helm 설치 스크립트를 통해 StackRox 설치
```sh /bin/bash <(curl -fsSL https://raw.githubusercontent.com/stackrox/stackrox/master/scripts/quick-helm-install.sh) ``` 기본 StackRox 배포에는 특정 CPU 및 메모리 요청이 있으며 충분한 리소스를 사용할 수 없는 소규모(예: 개발) 클러스터에서는 실패할 수 있습니다. 제한된 리소스를 가진 소규모 클러스터에 StackRox를 설치하려면 `--small` 명령줄 옵션을 사용할 수 있습니다. 이 옵션은 프로덕션 배포에 권장되지 않습니다.```sh /bin/bash <(curl -fsSL https://raw.githubusercontent.com/stackrox/stackrox/master/scripts/quick-helm-install.sh) --small ``` 이 스크립트는 StackRox Helm 저장소를 추가하고, 관리자 비밀번호를 생성하며, stackrox-central-services를 설치하고, stackrox-secured-cluster-services를 프로비저닝하기 위한 init 번들을 생성한 후, 마지막으로 동일한 클러스터에 stackrox-secured-cluster-services를 설치합니다.마지막으로, 스크립트가 자동으로 브라우저를 열고 StackRox에 로그인합니다. 인증서가 자체 서명되어 있으므로 인증서 경고가 표시될 수 있습니다. 경고에 대한 자세한 내용은 StackRox 사용자 인터페이스(UI)에 액세스하기 섹션을 참조하세요. 인증 후에는 https://localhost:8000/main/dashboard를 사용하여 대시보드에 액세스할 수 있습니다.
Helm을 사용한 수동 설치
시스템에 helm CLI를 설치하려면 Helm 설치 가이드를 따르세요.
Helm을 사용한 배포는 4단계로 구성됩니다.
- Helm에 StackRox 저장소 추가
- Helm을 사용하여 StackRox 중앙 서비스 시작
- 클러스터 구성 및 서비스 ID(init 번들) 생성
- 해당 구성과 자격 증명을 사용하여 StackRox 보안 클러스터 서비스 배포 (이 단계는 StackRox 중앙 서비스에 더 많은 클러스터를 추가하기 위해 여러 번 수행할 수 있습니다)
StackRox 중앙 서비스 설치
먼저, StackRox 중앙 서비스가 Kubernetes 클러스터에 추가됩니다. 여기에는 UI와 스캐너가 포함됩니다. 시작하려면 stackrox/helm-charts/opensource 저장소를 Helm에 추가하세요.
Note: 여러 클러스터를 보호하려는 경우에도 stackrox-central-services 인스턴스 하나만 배포하면 됩니다.
설치를 수행하려면 클러스터 크기에 따라 다음 명령 중 하나를 선택하십시오.
Default Central Installation
적당한 크기의 클러스터에 설치하는 경우 기본 설치 명령을 사용하십시오:```sh
helm upgrade --install -n stackrox --create-namespace stackrox-central-services
stackrox/stackrox-central-services
--set central.adminPassword.value="${ROX_ADMIN_PASSWORD}"
--set central.persistence.none="true"
#### 제한된 리소스를 가진 클러스터에서의 중앙 설치
단일 노드 클러스터에 설치하는 경우, 또는 기본 설치 시 리소스 부족으로 파드가 Pending 상태에 갇히는 경우, 다음 명령어를 대신 사용하여 stackrox-central-services 리소스 요구 사항을 줄이십시오. 이러한 축소된 리소스 설정은 프로덕션 환경에 적합하지 않다는 점을 명심하십시오.```sh
helm upgrade --install -n stackrox --create-namespace stackrox-central-services \
stackrox/stackrox-central-services \
--set central.adminPassword.value="${ROX_ADMIN_PASSWORD}" \
--set central.persistence.none="true" \
--set central.resources.requests.memory=1Gi \
--set central.resources.requests.cpu=1 \
--set central.resources.limits.memory=4Gi \
--set central.resources.limits.cpu=1 \
--set central.db.resources.requests.memory=1Gi \
--set central.db.resources.requests.cpu=500m \
--set central.db.resources.limits.memory=4Gi \
--set central.db.resources.limits.cpu=1 \
--set scanner.autoscaling.disable=true \
--set scanner.replicas=1 \
--set scanner.resources.requests.memory=500Mi \
--set scanner.resources.requests.cpu=500m \
--set scanner.resources.limits.memory=2500Mi \
--set scanner.resources.limits.cpu=2000m
StackRox 보안 클러스터 서비스 설치
다음으로, 보안 클러스터 구성 요소를 배포하여 쿠버네티스 노드에서 정보를 수집해야 합니다.
CLUSTER_NAME 셸 변수에 보안 클러스터의 의미 있는 클러스터 이름을 설정하세요. 이 이름으로 StackRox UI의 클러스터 목록에서 클러스터가 식별됩니다.```sh
CLUSTER_NAME="my-secured-cluster"
중앙 보안 클러스터 서비스가 통신할 엔드포인트를 설정합니다. stackrox-secured-cluster-services를 stackrox-central-services와 동일한 클러스터에 배포하는 경우 표시된 대로 그대로 두고, 그렇지 않으면 Central에 액세스할 수 있는 엔드포인트로 값을 변경합니다.```sh
CENTRAL_ENDPOINT="central.stackrox.svc:443"
초기화 시크릿을 포함하는 init 번들을 생성합니다. init 번들은 stackrox-init-bundle.yaml에 저장되며, 아래와 같이 보안 클러스터를 프로비저닝하는 데 사용됩니다.```sh
echo "$ROX_ADMIN_PASSWORD" |
kubectl -n stackrox exec -i deploy/central -- bash -c 'ROX_ADMIN_PASSWORD=$(cat) roxctl --insecure-skip-tls-verify
central init-bundles generate stackrox-init-bundle --output -' > stackrox-init-bundle.yaml
그런 다음 stackrox-secured-cluster-services를 (방금 생성한 init 번들과 함께) 설치하십시오.
설치를 수행하려면 클러스터 크기에 따라 다음 명령 중 하나를 선택하십시오.
#### 기본 보안 클러스터 서비스 설치
적당한 크기의 클러스터에 설치하는 경우 기본 설치 명령을 사용하십시오:```sh
helm upgrade --install -n stackrox --create-namespace stackrox-secured-cluster-services \
stackrox/stackrox-secured-cluster-services \
-f stackrox-init-bundle.yaml \
--set clusterName="$CLUSTER_NAME" \
--set centralEndpoint="$CENTRAL_ENDPOINT"
리소스가 제한된 클러스터에서의 보안 클러스터 서비스 설치
단일 노드 클러스터에 설치하거나 기본 설치로 인해 리소스 부족으로 pod가 보류 상태에 머무르는 경우, 대신 다음 명령을 사용하여 stackrox-secured-cluster-services의 리소스 요구 사항을 줄이십시오. 이러한 축소된 리소스 설정은 프로덕션 환경에 적합하지 않음을 유의하십시오.```sh
helm upgrade --install -n stackrox --create-namespace stackrox-secured-cluster-services
stackrox/stackrox-secured-cluster-services
-f stackrox-init-bundle.yaml
--set clusterName="$CLUSTER_NAME"
--set centralEndpoint="$CENTRAL_ENDPOINT"
--set sensor.resources.requests.memory=500Mi
--set sensor.resources.requests.cpu=500m
--set sensor.resources.limits.memory=500Mi
--set sensor.resources.limits.cpu=500m
</details>
<details>
<summary>Helm 차트에 대한 추가 정보</summary>
Helm 설치를 추가로 사용자 정의하려면 다음 문서를 참조하십시오:
* <https://docs.openshift.com/acs/installing/installing_other/install-central-other.html#install-using-helm-customizations-other>
* <https://docs.openshift.com/acs/installing/installing_other/install-secured-cluster-other.html#configure-secured-cluster-services-helm-chart-customizations-other>
</details>
### 스크립트를 통한 설치
`deploy` 스크립트는 다음을 수행합니다:
1. **StackRox Central Services** 시작
2. 클러스터 구성 및 서비스 ID 생성
3. 해당 구성과 자격 증명을 사용하여 **StackRox Secured Cluster Services** 배포
원하는 버전을 사용하려면 셸에서 환경 변수 `MAIN_IMAGE_TAG`를 설정할 수 있습니다.
커밋을 체크아웃하면 스크립트는 기본적으로 해당 커밋에 해당하는 이미지를 실행합니다. 필요한 경우 이미지를 가져옵니다.
추가 단계는 오케스트레이터에 따라 다릅니다.
#### Kubernetes 배포판 (EKS, AKS, GKE)
<details><summary>펼치려면 클릭</summary>
아래 가이드에 따라 `stackrox` 네임스페이스의 Kubernetes 클러스터에 특정 버전의 StackRox를 빠르게 배포하세요. 특정 버전을 설치하려면 `MAIN_IMAGE_TAG`에 정의/설정했는지 확인하십시오. 그렇지 않으면 최신 나이틀리 빌드가 설치됩니다.
원하는 작업 디렉터리에서 다음을 실행하십시오:```
git clone [email protected]:stackrox/stackrox.git
cd stackrox
MAIN_IMAGE_TAG=VERSION_TO_USE ./deploy/deploy.sh
몇 분 후, 모든 리소스가 배포되어야 합니다.
'admin' 사용자의 자격 증명은 ./deploy/k8s/central-deploy/password 파일에서 찾을 수 있습니다.
참고: 비밀번호 파일은 로컬 파일 시스템에 일반 텍스트로 저장되지만, StackRox가 생성하는 Kubernetes Secret은 암호화됩니다. 런타임에 비밀번호를 변경할 수 없습니다. 비밀번호를 분실할 경우 Central을 다시 배포해야 합니다.
OpenShift
펼치려면 클릭
OpenShift에 배포하기 전에 oc - OpenShift Command Line이 설치되어 있는지 확인하십시오.
아래 안내에 따라 stackrox 네임스페이스의 OpenShift 클러스터에 특정 버전의 StackRox를 빠르게 배포하십시오. MAIN_IMAGE_TAG 변수에 가장 최신 태그를 추가해야 합니다.
원하는 작업 디렉터리에서 다음을 실행하십시오:``` git clone [email protected]:stackrox/stackrox.git cd stackrox MAIN_IMAGE_TAG=VERSION_TO_USE ./deploy/deploy.sh
After a few minutes, all resources should be deployed. The process will complete with this message.
**Credentials for the 'admin' user can be found in the `./deploy/openshift/central-deploy/password` file.**
> **Note:**
> While the password file is stored in plaintext on your local filesystem, the Kubernetes Secret StackRox uses is encrypted, and you will not be able to alter the secret at runtime. If you loose the password, you will have to redeploy central.
</details>
#### Docker Desktop, Colima, or minikube
<details><summary>Click to Expand</summary>
Run the following in your working directory of choice:```
git clone [email protected]:stackrox/stackrox.git
cd stackrox
MAIN_IMAGE_TAG=latest ./deploy/deploy-local.sh
After a few minutes, all resources should be deployed.
Credentials for the 'admin' user can be found in the ./deploy/k8s/deploy-local/password file.
Accessing the StackRox User Interface (UI)
Click to expand
After the deployment has completed (operator, Helm or script install) a port-forward should exist, so you can connect to https://localhost:8000/. Run the following```sh kubectl port-forward -n 'stackrox' svc/central "8000:443"
그런 다음 웹 브라우저에서 https://localhost:8000/로 이동하세요.
**사용자 이름** = 기본 사용자는 `admin`입니다.
**비밀번호 (Helm)** = 비밀번호는 수동 설치 후 `$ROX_ADMIN_PASSWORD`에 있거나, 빠른 설치 스크립트의 끝에 출력됩니다.
**비밀번호 (스크립트)** = 비밀번호는 스크립트 설치의 경우 `/deploy/<orchestrator>/central-deploy/password.txt` 폴더에 위치합니다.
</details>
---
## 개발
- 기여할 계획이 있으면 [**풀 리퀘스트 가이드라인**](https://github.com/stackrox/stackrox/blob/HEAD/.github/contributing.md)부터 시작하세요.
- 중요하지 않은 코드 제출의 경우 [**shepherding**](https://github.com/stackrox/stackrox/blob/HEAD/.github/shepherding.md)을 참고하세요.
- [**AI 정책**](https://github.com/stackrox/stackrox/blob/HEAD/.github/using-llms.md)을 확인하세요.
- **Go 코딩 스타일 가이드**: [go-coding-style.md](https://github.com/stackrox/stackrox/blob/HEAD/.github/go-coding-style.md)
- **UI 개발 문서**: [ui/README.md](https://github.com/stackrox/stackrox/blob/HEAD/ui/README.md)를 참조하세요.
- **E2E 개발 문서**: [qa-tests-backend/README.md](https://github.com/stackrox/stackrox/blob/HEAD/qa-tests-backend/README.md)를 참조하세요.
### 빠른 시작
#### 빌드 도구
다음 도구들은 코드를 테스트하고 이미지를 빌드하는 데 필요합니다:
<details><summary>클릭하여 펼치기</summary>
* [Make](https://www.gnu.org/software/make/)
* [Go](https://golang.org/dl/)
* `make reinstall-dev-tools`를 사용하여 설치할 수 있는 다양한 Go 린터.
* [ui/README.md](https://github.com/stackrox/stackrox/blob/HEAD/ui/README.md#Build-Tooling)에 명시된 UI 빌드 도구.
* [Docker](https://docs.docker.com/get-docker/)
* 참고: Docker Desktop은 이제 대규모 엔터프라이즈 회사의 경우 유료 구독이 필요합니다.
* 일부 StackRox 개발자들은 [Colima](https://github.com/abiosoft/colima)를 권장합니다.
* [Xcode](https://developer.apple.com/xcode/) 명령줄 도구 (macOS 전용)
* [Bats](https://github.com/sstephenson/bats)는 특정 셸 테스트를 실행하는 데 사용됩니다.
`brew install bats` 또는 `npm install -g bats`로 얻을 수 있습니다.
* [oc](https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/stable/) OpenShift CLI 도구
* 셸 스크립트 린팅을 위한 [shellcheck](https://github.com/koalaman/shellcheck#installing).
**Xcode - macOS 전용**
일반적으로 brew를 통해 이미 설치되어 있을 것입니다.
그러나 golang x/tools를 빌드할 때 오류가 발생하면,
먼저 EULA에 동의했는지 확인하세요:
1. Xcode를 시작합니다.
2. 새로운 빈 앱 프로젝트를 빌드합니다.
3. 에뮬레이터에서 빈 프로젝트 앱을 시작합니다.
4. 에뮬레이터와 Xcode를 모두 닫은 다음,
5. 다음 명령어를 실행하세요: ```bash
xcode-select --install
sudo xcode-select --switch /Library/Developer/CommandLineTools # Enable command line tools
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
For more info, see https://github.com/nodejs/node-gyp/issues/569
StackRox 클론하기
펼치려면 클릭
```bash # Create a GOPATH: this is the location of your Go "workspace". # (Note that it is not – and must not – be the same as the path Go is installed to.) # The default is to have it in ~/go/, or ~/development, but anything you prefer goes. # Whatever you decide, create the directory, set GOPATH, and update PATH: export GOPATH=$HOME/go # Change this if you choose to use a different workspace. export PATH=$PATH:$GOPATH/bin # You probably want to permanently set these by adding the following commands to your shell # configuration (e.g. ~/.bash_profile)cd $GOPATH mkdir -p bin pkg mkdir -p src/github.com/stackrox cd src/github.com/stackrox git clone [email protected]:stackrox/stackrox.git
</details>
#### 로컬 개발
<details><summary>클릭하여 펼치기</summary>
더 나은 경험을 위해, [워크플로 스크립트](#productivity)를 미리 설치하세요.```bash
$ cd $GOPATH/src/github.com/stackrox/stackrox
$ make install-dev-tools
$ make image
이제 진행하기 전에 직접 Kubernetes 클러스터를 시작해야 합니다.
개발은 GCP에서 하거나 로컬에서 Docker Desktop, Colima, minikube을 사용하여 수행할 수 있습니다.
참고:
Docker Desktop과 Colima는 macOS 개발에 더 적합합니다. 클러스터가 추가 구성 없이 로컬에서make image로 빌드된 이미지에 접근할 수 있기 때문입니다. 또한 Collector는 이러한 환경에서 minikube보다 더 나은 지원을 제공합니다(드라이버를 사용할 수 없는 경우가 있음).```bash
To keep the StackRox Central's Postgres DB state between database upgrades and restarts, set:
$ export STORAGE=pvc
To save time on rebuilds by skipping UI builds, set:
$ export SKIP_UI_BUILD=1
To save time on rebuilds by skipping CLI builds, set:
$ export SKIP_CLI_BUILD=1
When you deploy locally make sure your kube context points to the desired kubernetes cluster,
for example Docker Desktop.
To check the current context you can call a workflow script:
$ roxkubectx
To deploy locally, call:
$ ./deploy/deploy-local.sh
Now you can access StackRox dashboard at https://localhost:8000
or simply call another workflow script:
$ logmein
자세한 내용은 [Installation via Scripts](#installation-via-scripts)를 참조하십시오. 환경 변수에 대한 자세한 내용은
[deploy/README.md](https://github.com/stackrox/stackrox/blob/master/deploy/README.md#env-variables)를 참조하십시오.
</details>
#### 일반 Makefile 대상
<details><summary>펼쳐보려면 클릭</summary>```bash
# Build image, this will create `stackrox/main` with a tag defined by `make tag`.
$ make image
# Compile all binaries
$ make main-build-dockerized
# Displays the docker image tag which would be generated
$ make tag
# Note: there are integration tests in some components, and we currently
# run those manually. They will be re-enabled at some point.
$ make test
# Apply and check style standards in Go and JavaScript
$ make style
# enable pre-commit hooks for style checks
$ make init-githooks
# Compile and restart only central
$ make fast-central
# Compile only sensor
$ make fast-sensor
# Only compile protobuf
$ make proto-generated-srcs
생산성
클릭하여 펼치기
워크플로 리포지토리에는 개발 워크플로를 지원하는 몇 가지 도우미 스크립트가 포함되어 있습니다. roxhelp --list-all을 사용하여 더 많은 명령을 확인하세요.```bash
Change directory to rox root
$ cdrox
Handy curl shortcut for your StackRox central instance
Uses https://localhost:8000 by default or ROX_BASE_URL env variable
Also uses the admin credentials from your last deployment via deploy.sh
$ roxcurl /v1/metadata
Run quickstyle checks, faster than stackrox's "make style"
$ quickstyle
The workflow repository includes some tools for supporting
working with multiple inter-dependent branches.
Examples:
$ smart-branch # create new branch ... work on branch... $ smart-rebase # rebase from parent branch ... continue working on branch... $ smart-diff # check diff relative to parent branch ... git push, etc.
</details>
#### GoLand 구성
<details><summary>펼쳐보기</summary>
GoLand를 사용하여 개발한다면, 다음 설정이 도움이 될 수 있습니다.
`Protocol Buffers` 플러그인이 설치되어 있는지 확인하세요. 이 플러그인은 GoLand에 기본적으로 설치되어 있습니다.
설치되어 있지 않다면, `Help | Find Action...`을 사용하여 `Plugins`를 입력하고 Enter를 누른 후, `Marketplace`로 전환하여 이름을 입력하고 플러그인을 설치하세요.
이 플러그인은 기본적으로 GoLand에서 `.proto` 임포트를 찾을 위치를 알지 못하므로, 플러그인에 대한 경로를 명시적으로 구성해야 합니다. <https://github.com/jvolkman/intellij-protobuf-editor#path-settings>를 참조하세요.
* `GoLand | Preferences | Languages & Frameworks | Protocol Buffers`로 이동합니다.
* `Configure automatically`의 체크를 해제합니다.
* `+` 버튼을 클릭하고, 리포지토리 루트의 `./proto` 디렉터리를 탐색하여 선택합니다.
* 선택적으로 `$HOME/go/pkg/mod/github.com/gogo/[email protected]`
및 `$HOME/go/pkg/mod/github.com/gogo/[email protected]/`도 추가합니다.
* 확인하려면: 메뉴 `Navigate | File...`을 사용하여 `.proto` 파일 이름(예: `alert_service.proto`)을 입력하고 모든 임포트 문자열이 빨간색이 아닌 초록색으로 표시되는지 확인합니다.
</details>
#### sql_integration 테스트 실행
<details><summary>펼쳐보기</summary>
`//go:build sql_integration`으로 주석이 달린 Go 테스트는 포트 5432에서 수신 대기하는 PostgreSQL 서버가 필요합니다.
코드에서 인증이 설정된 방식 때문에, 다음과 같이 컨테이너에서 Postgres를 시작하는 것이 가장 쉽습니다:```bash
$ docker run --rm --env POSTGRES_USER="$USER" --env POSTGRES_HOST_AUTH_METHOD=trust --publish 5432:5432 docker.io/library/postgres:15
백그라운드에서 실행된 상태에서 sql_integration 테스트는 IDE 또는 명령줄에서 트리거할 수 있습니다.
디버깅
펼치려면 클릭
Kubernetes 디버거 설정
GoLand를 사용하면 IDE에서 단위 테스트를 실행할 때 자연스럽게 중단점과 디버거를 사용할 수 있습니다.
로컬 또는 원격 배포를 디버깅하려면 아래 절차를 따르세요.
DEBUG_BUILD=yes를 내보내어 로컬에서 디버그 빌드를 생성합니다: ```bash $ DEBUG_BUILD=yes make image
또는, 브랜치 이름에 -debug 하위 문자열이 포함된 경우 디버그 빌드도 생성됩니다. 이는 make image 로컬 및 CI에서 모두 작동합니다.
2. 이 README 파일의 지침을 사용하여 이미지를 배포합니다. deploy-local.sh 및 deploy.sh 모두에서 작동합니다.
3. workflow 저장소의 roxdebug 명령을 사용하여 대상 pod에서 디버거(및 포트 포워딩)를 시작합니다. ```bash
For Central
$ roxdebug
For Sensor
$ roxdebug deploy/sensor
See usage help
$ roxdebug --help
4. 원격 디버깅을 위한 GoLand 구성 (한 번만 수행하면 됨):
1. `Run | Edit Configurations …`을 열고, `+` 아이콘을 클릭하여 새 구성을 추가한 후 `Go Remote` 템플릿을 선택합니다.
2. `Host:`를 `localhost`, `Port:`를 `40000`으로 선택합니다. 이 구성에 이름을 지정합니다.
3. `On disconnect:`에서 `Leave it running`을 선택합니다 (이렇게 하면 재연결 시 GoLand가 중단점을 잊어버리지 않습니다).
5. 디버깅 포트에 GoLand 연결: `Run | Debug…`를 선택하고 생성한 구성을 선택합니다.
모든 작업이 올바르게 수행되었다면 화면 하단의 `Debug | Debugger | Variables` 창에 `Connected` 메시지가 표시됩니다.
6. 코드에 중단점을 설정하고, 해당 작업을 트리거하여 즐겁게 디버깅하세요!
자세한 내용은 [Kubernetes에서 실행되는 Go 코드 디버깅](https://github.com/stackrox/dev-docs/blob/main/docs/knowledge-base/%5BBE%5D%20Debugging-go-code-running-in-Kubernetes.md)을 참조하세요.
</details>
## 이식 가능한 설치 프로그램 생성
<details><summary>Kubernetes</summary>```bash
docker run -i --rm quay.io/stackrox-io/main:<tag> central generate interactive > k8s.zip
이것은 설치 프로그램을 통해 진행하며 k8s.zip 파일을 생성합니다.```bash
unzip k8s.zip -d k8s
INPUT:```bash
bash k8s/central.sh
이제 Central이 배포되었습니다. UI를 사용하여 Sensor를 배포하세요.
OpenShift
참고: 호스트 마운트를 사용하는 경우, 다음 명령을 사용하여 컨테이너가 해당 경로에 접근할 수 있도록 허용해야 합니다:
sudo chcon -Rt svirt_sandbox_file_t <전체 볼륨 경로>
이 리포지토리의 image-setup.sh 스크립트를 가져와 실행하여 로컬 OpenShift 레지스트리로 pull/push를 수행하세요. 이는 모든 새 클러스터에 필요한 사전 조건입니다.```bash bash image-setup.sh
(No input provided)```bash
docker run -i --rm quay.io/stackrox-io/main:<tag> central generate interactive > openshift.zip
이것은 설치 프로그램을 통해 진행되며 openshift.zip 파일을 생성합니다.```bash
unzip openshift.zip -d openshift
'sqlmap'은 이 문서에서 설명된 것과 유사합니다:```bash
bash openshift/central.sh
StackRox 실행을 위한 종속성 및 권장 사항
클릭하여 확장
다음 정보는 오픈 소스 StackRox 프로젝트의 설치 및 운영을 돕기 위해 수집되었습니다. 이 권장 사항은 Red Hat Advanced Cluster Security for Kubernetes 제품을 위해 개발되었으며, 업스트림 StackRox 프로젝트에서는 테스트되지 않았습니다.
권장 Kubernetes 배포판
StackRox가 최소한의 문제로 배포된 Kubernetes 플랫폼은 아래에 나열되어 있습니다.
- Red Hat OpenShift Dedicated (OSD)
- Azure Red Hat OpenShift (ARO)
- Red Hat OpenShift Service on AWS (ROSA)
- Amazon Elastic Kubernetes Service (EKS)
- Google Kubernetes Engine (GKE)
- Microsoft Azure Kubernetes Service (AKS)
위에 나열된 것 외의 Kubernetes 배포판에 배포하면 문제가 발생할 수 있습니다.
권장 운영 체제
StackRox는 다음 운영 체제의 최신 버전에서 작동하는 것으로 알려져 있습니다.
- Ubuntu
- Debian
- Red Hat Enterprise Linux (RHEL)
- CentOS
- Fedora CoreOS
- Flatcar Container Linux
- Google COS
- Amazon Linux
- Garden Linux
권장 웹 브라우저
다음 표는 StackRox 웹 사용자 인터페이스를 볼 수 있는 브라우저를 나열합니다.
- Google Chrome 88.0 (64-bit)
- Microsoft Internet Explorer Edge
- 버전 44 이상 (Windows)
- 버전 81 (공식 빌드) (64-bit)
- Safari on MacOS (Mojave) - Version 14.0
- Mozilla Firefox Version 82.0.2 (64-bit)