Cloud Run for Anthos on Google Cloud 클러스터에 보안 비밀 사용

서비스는 일반적으로 사용자 이름과 비밀번호를 제공하는 타사 애플리케이션에 액세스하는 데 사용할 수 있습니다. Kubernetes에서는 이 유형의 보안 비밀 정보를 Kubernetes 보안 비밀 객체에 저장하는 것이 좋습니다. Kubernetes 보안 비밀 문서에서 보안 비밀 사용에 대해 자세히 알아보세요.

컨테이너에서 보안 비밀에 액세스하도록 설정하면 다음 옵션 중 하나를 선택할 수 있습니다.

  • 마운트된 볼륨에 파일로 제공되는 보안 비밀 항목을 사용하여 보안 비밀을 볼륨으로 마운트합니다. 보안 비밀을 읽을 때 최신 버전을 사용하게 되므로 이 방법을 사용하는 것이 좋습니다.
  • 환경 변수를 사용하여 보안 비밀을 전달합니다.

이 페이지에서는 보안 비밀을 만드는 방법과 Cloud Run for Anthos on Google Cloud를 구성하여 이 보안 비밀을 사용하는 방법을 설명합니다.

보안 비밀 만들기

보안 비밀에 대한 Kubernetes 문서에 설명된 대로 보안 비밀을 만드는 방법에는 여러 가지가 있습니다. 편의를 위해 다음 단계에서는 보안 비밀을 만드는 간단한 방법을 보여줍니다.

보안 비밀을 만들 때는 Cloud Run 서비스를 실행하는 클러스터와 동일한 네임스페이스에 만들어야 합니다. 이 안내에서는 default 네임스페이스가 사용됩니다.

파일을 사용해 보안 비밀을 만들 수 있습니다.

echo -n 'devuser' > ./username.txt
echo -n 'S!B\*d$zDsb' > ./password.txt
kubectl create secret generic user-creds --from-file=./username.txt --from-file=./password.txt

또는 파일 없이 하나의 명령줄에 직접 정보를 제공할 수도 있습니다.

kubectl create secret generic user-creds --from-literal=username=devuser --from-literal=password='S!B\*d$zDsb'

보안 비밀은 default 네임스페이스의 클러스터에서 사용할 수 있는 위치에 생성되고 업로드됩니다.

서비스에 보안 비밀 사용 설정

보안 비밀을 만든 후에는 새 서비스를 만들거나 새 버전을 배포할 때 Cloud Console 또는 gcloud 명령줄에서 Cloud Run 서비스에 볼륨이나 환경 변수로 보안 비밀을 제공할 수 있습니다.

Console

  1. Cloud Run으로 이동

  2. 배포할 새 서비스를 구성하려면 서비스 만들기를 클릭합니다. 기존 서비스를 구성하는 경우 서비스를 클릭한 다음 새 버전 수정 및 배포를 클릭합니다.

  3. 고급 설정에서 변수를 클릭합니다.

    이미지

  4. 보안 비밀 참조의 풀다운 메뉴에서 원하는 보안 비밀을 선택합니다.

    • 참조 메서드 풀다운 메뉴에서 보안 비밀을 볼륨으로 마운트할지 아니면 환경 변수로 공개할지 선택합니다.
    • 볼륨으로 마운트하는 경우 경로를 지정한 다음 완료를 클릭합니다.
    • 환경 변수로 공개하는 경우 다음 안내를 따르세요.
      1. 변수의 이름을 입력하고 풀다운 메뉴에서 해당하는 보안 비밀 값을 선택합니다.
      2. 다른 보안 비밀 값을 추가하려면 추가를 클릭합니다.
      3. 변수의 이름을 입력하고 풀다운 메뉴에서 해당하는 보안 비밀 값을 선택합니다.
      4. 완료를 클릭합니다.

  5. 만들기 또는 배포를 클릭합니다.

명령줄

새 서비스의 보안 비밀을 설정, 업데이트, 삭제하려면 gcloud run deploy 명령어를 사용하세요. 필요에 따라 다음 플래그를 사용할 수 있습니다.

예를 들어 Cloud Run 서비스에 제공할 보안 비밀을 추가 또는 업데이트하려면 해당 보안 비밀을 마운트로 지정하거나 환경 변수로 제공해야 합니다.

gcloud run deploy SERVICE --update-secrets KEY1=VALUE1,KEY2=VALUE2
  • SERVICE를 서비스 이름으로 바꿉니다.
  • KEY1=VALUE1,KEY2=VALUE2를 원하는 보안 비밀 키 이름 및 값을 쉼표로 구분한 목록으로 바꿉니다. 슬래시('/')로 시작하는 키는 마운트 경로입니다. 다른 모든 키는 환경 변수에 해당합니다.

gcloud beta run services update 명령어를 사용하여 기존 서비스에서 보안 비밀을 설정, 업데이트, 정리 또는 삭제할 수도 있습니다. 필요에 따라 다음 플래그를 사용할 수 있습니다.

gcloud beta run services update SERVICE --image IMAGE_URL --update-secrets KEY1=VALUE1,KEY2=VALUE2

다음과 같이 바꿉니다.

  • IMAGE_URL을 컨테이너 이미지 참조(예를 들어 gcr.io/myproject/my-image:latest)로 바꿉니다.
  • KEY1=VALUE1,KEY2=VALUE2를 원하는 보안 비밀 키 이름 및 값을 쉼표로 구분한 목록으로 바꿉니다. 슬래시('/')로 시작하는 키는 마운트 경로입니다. 다른 모든 키는 환경 변수에 해당합니다.