ASCP for Amazon EKS 설치 - AWS Secrets Manager

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

ASCP for Amazon EKS 설치

이 섹션에서는 Amazon EKS용 AWS보안 암호 및 구성 공급자를 설치하는 방법을 설명합니다. ASCP를 사용하면 Secrets Manager의 보안 암호와의 파라미터를 Amazon EKS 포드의 AWS Systems Manager파일로 탑재할 수 있습니다.

사전 조건

  • Amazon EKS 클러스터

    • Pod Identity 버전 1.24 이상

    • IRSA 버전 1.17 이상

  • AWS CLI설치 및 구성된

  • Amazon EKS 클러스터에 kubectl 설치 및 구성

  • Helm(버전 3.0 이상)

ASCP 설치 및 구성

ASCP는 secrets-store-csi-provider-aws 리포지토리의 GitHub에서 제공됩니다. 리포지토리에는 보안 암호를 생성하고 탑재하기 위한 예제 YAML 파일도 포함되어 있습니다.

설치 과정에서, FIPS 엔드포인트를 사용하도록 ASCP를 구성할 수 있습니다. 엔드포인트 목록은 AWS Secrets Manager엔드포인트 섹션을 참조하세요.

ASCP를 EKS 추가 기능으로 설치하려면
  1. 설치eksctl(설치 지침)

  2. 다음 명령을 실행하여 기본 구성으로 추가 기능을 설치합니다.

    eksctl create addon --cluster <your_cluster> --name aws-secrets-store-csi-driver-provider

    추가 기능을 구성하려면 대신 다음 설치 명령을 실행합니다.

    aws eks create-addon --cluster-name <your_cluster> --addon-name aws-secrets-store-csi-driver-provider --configuration-values 'file://path/to/config.yaml'

    구성 파일은 YAML 또는 JSON 파일일 수 있습니다. 추가 기능의 구성 스키마를 보려면:

    1. 다음 명령을 실행하고 추가 기능의 최신 버전을 기록해 둡니다.

      aws eks describe-addon-versions --addon-name aws-secrets-store-csi-driver-provider
    2. 다음 명령을 실행하여 추가 기능의 구성 스키마를 확인하고 <version>를 이전 단계의 버전으로 바꿉니다.

      aws eks describe-addon-configuration --addon-name aws-secrets-store-csi-driver-provider --addon-version <version>
Helm을 사용하여 ASCP를 설치하는 방법
  1. 리포지토리가 최신 차트를 가리키고 있는지 확인하려면 helm repo update.를 사용합니다.

  2. 차트를 설치합니다. 다음은 helm install 명령의 예입니다.

    helm install -n kube-system secrets-provider-aws aws-secrets-manager/secrets-store-csi-driver-provider-aws
    1. FIPS 엔드포인트를 사용하려면 다음 플래그를 추가합니다. --set useFipsEndpoint=true

    2. 스로틀링을 구성하려면 다음 플래그를 추가합니다. --set-json 'k8sThrottlingParams={"qps": "number of queries per second", "burst": "number of queries per second"}'

    3. Secrets Store CSI 드라이버가 클러스터에 이미 설치되어 있는 경우 플래그(--set secrets-store-csi-driver.install=false)를 추가합니다. 이 플래그를 사용하면 Secrets Store CSI Driver를 종속 항목으로 설치하지 않습니다.

리포지토리에서 YAML을 사용하여 설치하는 방법
  • 다음 명령을 사용합니다.

    helm repo add secrets-store-csi-driver https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts helm install -n kube-system csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/deployment/aws-provider-installer.yaml

설치 확인

EKS 클러스터, Secrets Store CSI 드라이버 및 ASCP 플러그인의 설치를 확인하려면 다음 단계를 따릅니다.

  1. EKS 클러스터 확인:

    eksctl get cluster --name clusterName

    이 명령을 사용하면 클러스터에 대한 정보가 반환되어야 합니다.

  2. Secrets Store CSI 드라이버 설치를 확인합니다.

    kubectl get pods -n kube-system -l app=secrets-store-csi-driver

    csi-secrets-store-secrets-store-csi-driver-xxx와 같이 이름과 함께 실행 중인 포드가 표시될 것입니다.

  3. ASCP 플러그인 설치 확인:

    YAML installation
    $ kubectl get pods -n kube-system -l app=csi-secrets-store-provider-aws

    출력 예시:

    NAME READY STATUS RESTARTS AGE csi-secrets-store-provider-aws-12345 1/1 Running 0 2m
    Helm installation
    $ kubectl get pods -n kube-system -l app=secrets-store-csi-driver-provider-aws

    출력 예시:

    NAME READY STATUS RESTARTS AGE secrets-provider-aws-secrets-store-csi-driver-provider-67890 1/1 Running 0 2m

    포드가 Running 상태로 표시될 것입니다.

명령을 실행한 후 모든 것이 올바르게 설정되면 오류 없이 실행 중인 모든 구성 요소가 표시됩니다. 문제가 발생하면 문제가 있는 특정 포드의 로그를 확인하여 문제를 해결해야 할 수 있습니다.

문제 해결

  1. 다음을 실행하여 ASCP 공급자의 로그 확인:

    kubectl logs -n kube-system -l app=csi-secrets-store-provider-aws
  2. kube-system 네임스페이스에서 모든 포드의 상태를 확인합니다.

    kubectl -n kube-system get pods
    kubectl -n kube-system logs pod/PODID

    CSI 드라이버 및 ASCP와 관련된 모든 포드는 'Running' 상태여야 합니다.

  3. CSI 드라이버 버전 확인:

    kubectl get csidriver secrets-store.csi.k8s.io -o yaml

    이 명령을 사용하면 설치된 CSI 드라이버에 대한 정보가 반환되어야 합니다.

추가 리소스

Amazon EKS에서 ASCP 사용에 대한 자세한 내용은 다음 리소스를 참조하세요.