2.5. 마운트된 보안을 사용하도록 GitOps 관리 리소스 구성


배포에 볼륨 마운트 구성을 추가하고 마운트된 보안을 사용하도록 컨테이너 Pod를 구성하여 GitOps 관리 리소스를 구성해야 합니다.

사전 요구 사항

  • AWS Secrets Manager 리소스가 GitOps 리포지토리에 저장되어 있습니다.
  • AWS Secrets Manager에서 보안을 마운트하도록 SSCSI(Secrets Store Container Storage Interface) 드라이버가 구성되어 있습니다.

프로세스

  1. GitOps 관리 리소스를 구성합니다. 예를 들어 app-taxi 애플리케이션 배포에 볼륨 마운트 구성을 추가하고 100-deployment.yaml 파일은 /environments/dev/apps/app-taxi/services/config/ 디렉터리에 있다고 가정합니다.

    1. 배포 YAML 파일에 볼륨 마운트를 추가하고 시크릿 공급자 클래스 리소스 및 마운트된 보안을 사용하도록 컨테이너 Pod를 구성합니다.

      YAML 파일의 예

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: taxi
        namespace: dev 1
      spec:
        replicas: 1
        template:
          metadata:
      # ...
          spec:
            containers:
              - image: nginxinc/nginx-unprivileged:latest
                imagePullPolicy: Always
                name: taxi
                ports:
                  - containerPort: 8080
                volumeMounts:
                  - name: secrets-store-inline
                    mountPath: "/mnt/secrets-store" 2
                    readOnly: true
                resources: {}
          serviceAccountName: default
          volumes:
            - name: secrets-store-inline
              csi:
                driver: secrets-store.csi.k8s.io
                readOnly: true
                volumeAttributes:
                  secretProviderClass: "my-aws-provider" 3
          status: {}
      # ...

      1
      배포를 위한 네임스페이스입니다. 이는 시크릿 공급자 클래스와 동일한 네임스페이스여야 합니다.
      2
      볼륨 마운트에 시크릿을 마운트하는 경로입니다.
      3
      시크릿 공급자 클래스의 이름입니다.
    2. 업데이트된 리소스 YAML 파일을 GitOps 리포지토리로 내보냅니다.
  2. Argo CD UI에서 대상 애플리케이션 페이지에서 REFRESH 를 클릭하여 업데이트된 배포 매니페스트를 적용합니다.
  3. 모든 리소스가 대상 애플리케이션 페이지에서 성공적으로 동기화되었는지 확인합니다.
  4. Pod 볼륨 마운트의 AWS Secrets 관리자에서 시크릿에 액세스할 수 있는지 확인합니다.

    1. Pod 마운트의 보안을 나열합니다.

      $ oc exec <deployment_name>-<hash> -n <namespace> -- ls /mnt/secrets-store/

      명령 예

      $ oc exec taxi-5959644f9-t847m -n dev -- ls /mnt/secrets-store/

      출력 예

      <secret_name>

    2. Pod 마운트에서 보안을 확인합니다.

      $ oc exec <deployment_name>-<hash> -n <namespace> -- cat /mnt/secrets-store/<secret_name>

      명령 예

      $ oc exec taxi-5959644f9-t847m -n dev -- cat /mnt/secrets-store/testSecret

      출력 예

      <secret_value>

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.