Kubernetes 시크릿 및 Helm Chart 설치

Snyk Broker Helm 차트 버전 2.8.0부터 외부 시크릿(External secrets)이 지원됩니다.

이 기능을 활성화하려면 values.yaml에서 useExternalSecretstrue로 설정하거나 --set externalSecrets=true를 사용하십시오.

필요한 시크릿 목록을 얻으려면 Helm 설치의 드라이 런(Dry run)을 수행하십시오. 이는 Kubernetes 환경에 어떠한 변경도 주지 않지만, 다음 사항이 필요합니다.

helm install snyk-broker-chart \
  snyk-broker/snyk-broker \
  --set externalSecrets=true \
  --set scmType=<your-scm-type> \
  --dry-run=client

예상되는 이름과 값이 포함된 시크릿 목록이 생성됩니다. 다음 예시는 scmType=nexus를 사용합니다.

### Secret Creation Disabled ###

Ensure secrets are present on your cluster in the default namespace:

-> NAME:KEY <VALUE>
-> nexus-broker-token-snyk-broker-chart:nexus-broker-token-key <your-broker-token>
-> nexus-base-nexus-url-snyk-broker-chart:nexus-base-nexus-url <BASE_NEXUS_URL>
-> nexus-nexus-url-snyk-broker-chart:nexus-nexus-url <NEXUS_URL>
-> nexus-broker-client-validation-url-snyk-broker-chart:nexus-broker-client-validation-url <BROKER_CLIENT_VALIDATION_URL>

이 예시에서는 Broker가 설치될 동일한 네임스페이스 내에 4개의 시크릿이 존재해야 하며, 각 시크릿은 하나의 키-값 쌍을 포함해야 합니다. <> 문자로 표시된 모든 값은 자체 시크릿 데이터를 추가해야 함을 나타냅니다.

시크릿 및 키 이름 변경

다음 각 Helm 값은 namekey를 지원하므로, Snyk Broker Helm 차트가 해당 시크릿 내의 특정 시크릿 이름과 키를 참조할 수 있도록 합니다.

  • externalCredentialSecret (artifactory, nexus, nexus2가 아닌 다른 모든 Broker 유형에 사용되며, 해당 유형과 관련된 필수 비밀번호 또는 PAT에 사용됨)

  • brokerTokenSecret (Broker 토큰에 사용됨)

  • scmTokenPoolSecret (자격 증명 풀링이 활성화된 경우 사용됨)

  • artifactoryUrlSecret (artifactory 유형에만 필요)

  • baseNexusUrlSecret (nexusnexus2 유형에만 필요)

  • nexusUrlSecret (nexusnexus2 유형에만 필요)

  • brokerClientValidationUrlSecret (nexusnexus2 유형에만 필요하며, artifactory에서 선택적으로 설정 가능)

예를 들어, Kubernetes 클러스터에 다음과 같은 형식의 Broker 토큰이 포함된 시크릿이 있는 경우:

다음과 같이 설정하십시오.

Helm 차트는 Broker 토큰을 위해 snyk-broker-secrets 시크릿의 org-x-broker-token 키 아래에 있는 내용을 참조하게 됩니다.

부분적인 외부 시크릿 사용

useExternalSecrets가 true인 경우, Broker Helm 차트는 시크릿에 대해 값이 제공되었는지 확인합니다(예: brokerToken=<your-broker-token>).

  • 값이 존재하면 평소와 같이 시크릿을 생성합니다.

  • 값이 존재하지 않으면 외부 시크릿을 찾습니다.

이 방법을 통해 일부 시크릿은 Broker Helm 차트에서 제어하고 다른 시크릿은 외부에서 제어할 수 있습니다.

이 설정은 다음과 같이 작동합니다.

  • 제공된 Broker 토큰에 대해 시크릿을 생성합니다.

  • 필수 GitHub 토큰에 대해 외부 시크릿을 참조합니다.

Helm 설치 드라이 런을 수행하면 필요한 시크릿 이름과 키가 제공됩니다.

Broker 토큰 시크릿은 Broker Helm 차트에 직접 값이 제공되었으므로 이 목록에서 제외됩니다.

여러 키가 포함된 단일 외부 시크릿 사용

단일 Kubernetes 시크릿에 Snyk Broker 작동에 필요한 모든 자격 증명이 포함될 수 있습니다. nexus 유형의 Broker를 예로 들면, Kubernetes에 다음과 같은 시크릿이 있다고 가정합니다.

scmType=nexus에 필요한 모든 값에 대해 이 시크릿을 지정하려면 다음과 같이 설정하십시오.

Last updated