자습서: Amazon에 애플리케이션 배포 EKS - Amazon CodeCatalyst

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

자습서: Amazon에 애플리케이션 배포 EKS

이 자습서에서는 Amazon EKS 워크플로, Amazon 및 기타 몇 가지 서비스를 사용하여 CodeCatalyst Amazon Elastic Kubernetes Service에 컨테이너화된 애플리케이션을 배포하는 방법을 알아봅니다. AWS 배포된 애플리케이션은 간단한 'Hello, World! '입니다. Apache 웹 서버 Docker 이미지를 기반으로 구축된 웹 사이트. 이 자습서에서는 개발 시스템 및 Amazon EKS 클러스터 설정과 같은 필수 준비 작업을 안내한 다음 애플리케이션을 구축하고 클러스터에 배포하기 위한 워크플로를 생성하는 방법을 설명합니다.

초기 배포가 완료되면 자습서에서는 애플리케이션 소스를 변경하라는 지침을 제공합니다. 이 변경으로 인해 새 Docker 이미지가 빌드되고 새 수정 정보와 함께 Docker 이미지 리포지토리로 푸시됩니다. 그러면 새 버전의 Docker 이미지가 EKS Amazon에 배포됩니다.

작은 정보

이 튜토리얼을 따라가는 대신 완전한 Amazon EKS 설정을 수행하는 블루프린트를 사용할 수 있습니다. EKS앱 배포 블루프린트를 사용해야 합니다. 자세한 내용은 블루프린트를 사용하여 프로젝트 생성 단원을 참조하십시오.

사전 조건

이 자습서를 시작하기 전:

  • 연결된 AWS 계정이 있는 Amazon CodeCatalyst 스페이스가 필요합니다. 자세한 내용은 공백 생성 단원을 참조하십시오.

  • 스페이스에 다음과 같은 빈 프로젝트가 필요합니다.

    codecatalyst-eks-project

    처음부터 시작 옵션을 사용하여 이 프로젝트를 만들 수 있습니다.

    자세한 내용은 Amazon에서 빈 프로젝트 생성 CodeCatalyst 단원을 참조하십시오.

  • 프로젝트에는 다음과 같은 빈 CodeCatalyst 소스 리포지토리가 필요합니다.

    codecatalyst-eks-source-repository

    자세한 내용은 에 소스 리포지토리가 있는 코드 저장 및 공동 작업 CodeCatalyst 단원을 참조하십시오.

  • 프로젝트에는 다음과 같은 CodeCatalyst CI/CD 환경 (개발 환경 아님) 이 필요합니다.

    codecatalyst-eks-environment

    이 환경을 다음과 같이 구성하십시오.

    • 원하는 유형 (예: 비프로덕션) 을 선택합니다.

    • AWS 계정을 여기에 연결하십시오.

    • 기본 IAM 역할의 경우 원하는 역할을 선택합니다. 나중에 다른 역할을 지정하게 됩니다.

    자세한 내용은 AWS 계정 및 에 배포 VPCs 단원을 참조하십시오.

1단계: 개발 머신 설정

이 자습서의 첫 번째 단계는 이 자습서 전체에서 사용할 몇 가지 도구를 사용하여 개발 컴퓨터를 구성하는 것입니다. 이러한 도구는 다음과 같습니다.

  • eksctl유틸리티 — 클러스터 생성용

  • kubectl유틸리티 — 필수 조건 eksctl

  • AWS CLI — 의 전제 조건이기도 합니다. eksctl

기존 개발 시스템이 있는 경우 이러한 도구를 설치하거나 클라우드 기반 CodeCatalyst 개발 환경을 사용할 수 있습니다. CodeCatalyst 개발 환경의 이점은 스핀업 및 제거가 쉽고 다른 CodeCatalyst 서비스와 통합되어 더 적은 단계로 이 자습서를 완료할 수 있다는 것입니다.

이 자습서에서는 CodeCatalyst 개발 환경을 사용한다고 가정합니다.

다음 지침은 CodeCatalyst 개발 환경을 시작하고 필요한 도구를 사용하여 구성하는 빠른 방법을 설명하지만 자세한 지침은 다음을 참조하십시오.

개발 환경을 시작하려면
  1. https://codecatalyst.aws/ 에서 CodeCatalyst 콘솔을 엽니다.

  2. 프로젝트로 이동합니다codecatalyst-eks-project.

  3. 탐색 창에서 코드를 선택한 다음 소스 리포지토리를 선택합니다.

  4. 소스 리포지토리의 이름을 선택합니다codecatalyst-eks-source-repository.

  5. 상단에서 개발 환경 생성을 선택한 다음 AWS Cloud9 (브라우저에서) 를 선택합니다.

  6. 기존 브랜치 및 메인 브랜치에서의 작업이 선택되어 있는지 확인한 다음 [Create] 를 선택합니다.

    개발 환경이 새 브라우저 탭에서 시작되고 리포지토리 (codecatalyst-eks-source-repository) 가 새 브라우저 탭에 복제됩니다.

kubectl을 설치하고 구성하려면
  1. 개발 환경 터미널에서 다음을 입력합니다.

    curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/kubectl
  2. 다음을 입력합니다.

    chmod +x ./kubectl
  3. 입력:

    mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
  4. 입력:

    echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
  5. 입력:

    kubectl version --short --client
  6. 버전이 나타나는지 확인하세요.

    이제 설치가 완료되었습니다kubectl.

eksctl을 설치하고 구성하려면
참고

eksctl대신 사용할 kubectl 수 있으므로 반드시 필요한 것은 아닙니다. 하지만 eksctl 클러스터 구성의 대부분을 자동화할 수 있다는 이점이 있으므로 이 자습서에서는 이 도구를 사용하는 것이 좋습니다.

  1. 개발 환경 터미널에서 다음을 입력합니다.

    curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
  2. 다음을 입력합니다.

    sudo cp /tmp/eksctl /usr/bin
  3. 입력:

    eksctl version
  4. 버전이 나타나는지 확인하세요.

    이제 설치가 완료되었습니다eksctl.

가 AWS CLI 설치되었는지 확인하려면
  1. 개발 환경 터미널에서 다음을 입력합니다.

    aws --version
  2. 버전이 나타나는지 확인하여 가 설치되어 AWS CLI 있는지 확인합니다.

    나머지 절차를 완료하여 액세스에 필요한 AWS CLI 권한으로 를 AWS구성하십시오.

구성하려면 AWS CLI

액세스 키와 세션 AWS CLI 토큰으로 를 구성하여 AWS 서비스에 대한 액세스 권한을 부여해야 합니다. 다음 지침은 키와 토큰을 구성하는 빠른 방법을 제공하지만, 자세한 지침을 보려면 사용 AWS Command Line Interface 설명서의 AWS CLI구성을 참조하십시오.

  1. 다음과 같이 IAM Identity Center 사용자를 생성합니다.

    1. 에서 AWS Management Console 로그인하고 AWS IAM Identity Center 콘솔을 엽니다 https://console.aws.amazon.com/singlesignon/.

      (이전에 IAM Identity Center에 로그인한 적이 없다면 활성화를 선택해야 할 수도 있습니다.)

      참고

      CodeCatalyst스페이스에 AWS 계정 연결된 서버를 사용하여 로그인해야 합니다. 스페이스로 이동하고 계정 탭을 선택하면 어떤 계정이 연결되어 있는지 확인할 수 있습니다. AWS 자세한 내용은 공백 생성 단원을 참조하십시오.

    2. 탐색 창에서 UsersAdd user를 차례대로 선택합니다.

    3. 사용자 이름에 다음을 입력합니다.

      codecatalyst-eks-user
    4. 비밀번호에서 이 사용자와 공유할 수 있는 일회용 비밀번호 생성을 선택합니다.

    5. 이메일 주소이메일 주소 확인에 IAM Identity Center에 아직 없는 이메일 주소를 입력합니다.

    6. 이름에 다음을 입력합니다.

      codecatalyst-eks-user
    7. 성에 다음을 입력합니다.

      codecatalyst-eks-user
    8. 표시 이름에 다음을 입력합니다.

      codecatalyst-eks-user codecatalyst-eks-user
    9. Next(다음)를 선택합니다.

    10. 그룹에 사용자 추가 페이지에서 다음을 선택합니다.

    11. 사용자 검토 및 추가 페이지에서 정보를 검토하고 사용자 추가를 선택합니다.

      일회용 암호 대화 상자가 나타납니다.

    12. 복사를 선택한 다음 로그인 정보를 텍스트 파일에 붙여넣습니다. 로그인 정보는 AWS 액세스 포털URL, 사용자 이름, 일회용 비밀번호로 구성됩니다.

    13. 닫기를 선택하세요.

  2. 다음과 같이 권한 집합을 생성합니다.

    1. 탐색 창에서 권한 세트를 선택한 다음 권한 세트 생성을 선택합니다.

    2. 사전 정의된 권한 집합을 선택한 다음 선택합니다 AdministratorAccess. 이 정책은 모든 AWS 서비스사람에게 전체 권한을 제공합니다.

    3. Next(다음)를 선택합니다.

    4. 권한 집합 이름에서 다음을 AdministratorAccess 제거하고 입력합니다.

      codecatalyst-eks-permission-set
    5. Next(다음)를 선택합니다.

    6. 검토 및 생성 페이지에서 정보를 검토하고 생성을 선택합니다.

  3. 다음과 같이 권한 세트를 에 codecatalyst-eks-user 할당합니다.

    1. 탐색 창에서 선택한 다음 현재 로그인한 권한 옆의 AWS 계정 확인란을 선택합니다. AWS 계정

    2. 사용자 또는 그룹 할당을 선택합니다.

    3. 사용자 탭을 선택합니다.

    4. codecatalyst-eks-user 옆의 확인란을 선택합니다.

    5. Next(다음)를 선택합니다.

    6. codecatalyst-eks-permission-set 옆의 확인란을 선택합니다.

    7. Next(다음)를 선택합니다.

    8. 정보를 검토하고 제출을 선택합니다.

      이제 두 개를 하나로 codecatalyst-eks-user AWS 계정묶어 codecatalyst-eks-permission-set 자신에게 할당했습니다.

  4. codecatalyst-eks-userGavein의 액세스 키와 세션 토큰은 다음과 같습니다.

    1. AWS 액세스 URL 포털과 사용자 이름 및 일회용 비밀번호가 있는지 확인하세요. codecatalyst-eks-user 이전에 이 정보를 텍스트 편집기에 복사했어야 합니다.

      참고

      이 정보가 없는 경우 IAM Identity Center의 codecatalyst-eks-user 세부 정보 페이지로 이동하여 암호 재설정, 일회용 암호 생성 [...] 을 선택합니다. 그리고 암호를 다시 재설정하여 화면에 정보를 표시하십시오.

    2. AWS로그아웃하세요.

    3. AWS 액세스 URL 포털을 브라우저의 주소 표시줄에 붙여넣습니다.

    4. 다음 방법으로 로그인하세요.

      • 사용자명:

        codecatalyst-eks-user
      • 비밀번호:

        one-time-password

    5. 새 암호 설정에서 새 암호를 입력하고 새 암호 설정을 선택합니다.

      화면에 AWS 계정 상자가 나타납니다.

    6. 선택한 AWS 계정다음 codecatalyst-eks-user 사용자에게 할당한 AWS 계정 이름과 권한 집합을 선택합니다.

    7. 다음으로 명령줄 또는 프로그래밍 방식 액세스를 선택합니다. codecatalyst-eks-permission-set

    8. 페이지 중간에 있는 명령을 복사합니다. 다음과 비슷해 보입니다.

      export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" export AWS_SESSION_TOKEN="session-token"

      ... 어디서 session-token 긴 무작위 문자열입니다.

  5. 다음과 같이 액세스 키와 세션 AWS CLI토큰을 에 추가합니다.

    1. CodeCatalyst 개발 환경으로 돌아가십시오.

    2. 터미널 프롬프트에서 복사한 명령을 붙여넣습니다. Enter를 누릅니다.

      이제 액세스 AWS CLI 키와 세션 토큰을 사용하여 를 구성했습니다. 이제 를 AWS CLI 사용하여 이 자습서에 필요한 작업을 완료할 수 있습니다.

      중요

      이 자습서를 진행하는 동안 언제든지 다음과 비슷한 메시지가 표시되는 경우:

      Unable to locate credentials. You can configure credentials by running "aws configure".

      또는 다음과 같습니다.

      ExpiredToken: The security token included in the request is expired

      ... AWS CLI 세션이 만료되었기 때문입니다. 이 경우에는 aws configure 명령을 실행하지 마십시오. 대신 로 Obtain codecatalyst-eks-user's access key and session token 시작하는 이 절차의 4단계에 있는 지침을 사용하여 세션을 새로 고치십시오.

2단계: Amazon EKS 클러스터 생성

이 섹션에서는 Amazon에서 클러스터를 생성합니다EKS. 아래 지침은 를 사용하여 클러스터를 빠르게 생성하는 방법을 eksctl 설명하지만 자세한 지침은 다음을 참조하십시오.

참고

CodeCatalyst Amazon과의 통합은 프라이빗 클러스터를 지원하지 않습니다EKS.

시작하기 전에

개발 머신에서 다음 작업을 완료했는지 확인하십시오.

  • eksctl유틸리티를 설치했습니다.

  • kubectl유틸리티를 설치했습니다.

  • 를 AWS CLI 설치하고 액세스 키와 세션 토큰을 사용하여 구성했습니다.

이러한 작업을 완료하는 방법에 대한 자세한 내용은 을 참조하십시오1단계: 개발 머신 설정.

클러스터 생성
중요

클러스터가 제대로 구성되지 않으므로 Amazon EKS 서비스의 사용자 인터페이스를 사용하여 클러스터를 생성하지 마십시오. 다음 단계에 설명된 대로 eksctl 유틸리티를 사용하십시오.

  1. 개발 환경으로 이동합니다.

  2. 클러스터 및 노드 생성:

    eksctl create cluster --name codecatalyst-eks-cluster --region us-west-2

    위치:

    • codecatalyst-eks-cluster 클러스터에 부여하려는 이름으로 바뀝니다.

    • us-west-2 해당 지역으로 대체됩니다.

    10~20분 후 다음과 비슷한 메시지가 나타납니다.

    EKS cluster "codecatalyst-eks-cluster" in "us-west-2" region is ready

    참고

    클러스터를 AWS 생성하는 동안 여러 waiting for CloudFormation stack 메시지가 표시됩니다. 이는 예상된 동작입니다.

  3. 클러스터가 성공적으로 생성되었는지 확인하세요.

    kubectl cluster-info

    클러스터 생성이 성공했음을 나타내는 다음과 비슷한 메시지가 표시됩니다.

    Kubernetes master is running at https://long-string.gr7.us-west-2.eks.amazonaws.com CoreDNS is running at https://long-string.gr7.us-west-2.eks.amazonaws.com/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

3단계: Amazon ECR 이미지 리포지토리 생성

이 섹션에서는 Amazon Elastic 컨테이너 레지스트리 (AmazonECR) 에 프라이빗 이미지 리포지토리를 생성합니다. 이 리포지토리는 자습서에 사용할 Docker 이미지를 저장합니다.

Amazon에 대한 자세한 내용은 Amazon ECR Elastic 컨테이너 레지스트리 사용 설명서를 참조하십시오.

Amazon에서 이미지 리포지토리를 만들려면 ECR
  1. 개발 환경으로 이동하십시오.

  2. Amazon에서 빈 리포지토리를 생성합니다ECR.

    aws ecr create-repository --repository-name codecatalyst-eks-image-repo

    Replace codecatalyst-eks-image-repo Amazon ECR 리포지토리에 부여하려는 이름을 사용합니다.

    이 자습서에서는 리포지토리 codecatalyst-eks-image-repo 이름을 지정했다고 가정합니다.

  3. Amazon ECR 리포지토리의 세부 정보를 표시합니다.

    aws ecr describe-repositories \ --repository-names codecatalyst-eks-image-repo
  4. “repositoryUri”:값을 기록해 둡니다 (예:)111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-eks-image-repo.

    나중에 워크플로에 리포지토리를 추가할 때 필요합니다.

4단계: 소스 파일 추가

이 섹션에서는 소스 리포지토리 (codecatalyst-eks-source-repository) 에 애플리케이션 소스 파일을 추가합니다. 구성 요소는 다음과 같습니다.

  • index.html파일 — 'Hello, World! '라는 메시지가 표시됩니다. 브라우저의 메시지.

  • Dockerfile — Docker 이미지에 사용할 기본 이미지와 여기에 적용할 Docker 명령을 설명합니다.

  • deployment.yaml파일 — 쿠버네티스 서비스 및 배포를 정의하는 쿠버네티스 매니페스트입니다.

폴더 구조는 다음과 같습니다.

|— codecatalyst-eks-source-repository |— Kubernetes |— deployment.yaml |— public-html | |— index.html |— Dockerfile

index.html

index.html파일에는 'Hello, World! '라는 문구가 표시됩니다. 브라우저의 메시지.

index.html 파일을 추가하려면
  1. 개발 환경으로 이동합니다.

  2. 에서 codecatalyst-eks-source-repository 라는 public-html 폴더를 생성합니다.

  3. 에서 /public-html 다음 내용이 index.html 포함된 파일을 생성합니다.

    <html> <head> <title>Hello World</title> <style> body { background-color: black; text-align: center; color: white; font-family: Arial, Helvetica, sans-serif; } </style> </head> <body> <h1>Hello, World!</h1> </body> </html>
  4. 터미널 프롬프트에서 다음을 입력합니다.

    cd /projects/codecatalyst-eks-source-repository
  5. 추가, 커밋, 푸시:

    git add . git commit -m "add public-html/index.html" git push

    저장소의 public-html 폴더에 index.html 추가됩니다.

Dockerfile

Dockerfile은 사용할 기본 Docker 이미지와 여기에 적용할 Docker 명령을 설명합니다. Dockerfile에 대한 자세한 내용은 Dockerfile 참조를 참조하십시오.

여기에 지정된 Dockerfile은 Apache 2.4 기본 이미지 () 를 사용하도록 나타냅니다. httpd 또한 웹 페이지를 제공하는 Apache 서버의 폴더에 호출된 소스 파일을 index.html 복사하기 위한 지침도 포함되어 있습니다. Dockerfile의 EXPOSE 지침은 컨테이너가 포트 80에서 수신 중임을 Docker에 알립니다.

도커파일을 추가하려면
  1. 에서 codecatalyst-eks-source-repository 다음 내용이 Dockerfile 포함된 파일을 생성합니다.

    FROM httpd:2.4 COPY ./public-html/index.html /usr/local/apache2/htdocs/index.html EXPOSE 80

    파일 확장자를 포함하지 마세요.

    중요

    Dockerfile은 리포지토리의 루트 폴더에 있어야 합니다. 워크플로의 Docker build 명령에서는 해당 파일이 있을 것으로 예상합니다.

  2. 추가, 커밋, 푸시:

    git add . git commit -m "add Dockerfile" git push

    Dockerfile이 저장소에 추가됩니다.

deployment.yaml

이 섹션에서는 리포지토리에 deployment.yaml 파일을 추가합니다. deployment.yaml파일은 실행할 쿠버네티스 리소스 유형 또는 종류인 '서비스'와 '디플로이먼트'를 정의하는 쿠버네티스 매니페스트입니다.

  • '서비스'는 Amazon에 로드 밸런서를 배포합니다. EC2 로드 밸런서는 'Hello, World! '페이지로 이동하는 데 사용할 수 있는 인터넷 공용 URL 및 표준 포트 (포트 80) 를 제공합니다. 애플리케이션을 배포합니다.

  • '디플로이먼트'는 포드 3개를 배포하며, 각 포드에는 'Hello, World! '가 포함된 Docker 컨테이너가 포함됩니다. 애플리케이션을 배포합니다. 세 개의 포드는 클러스터를 생성할 때 생성된 노드에 배포됩니다.

이 튜토리얼의 매니페스트는 짧지만, 매니페스트에는 포드, 작업, 인그레스, 네트워크 정책 등 여러 Kubernetes 리소스 유형이 포함될 수 있습니다. 또한 배포가 복잡한 경우 매니페스트 파일을 여러 개 사용할 수 있습니다.

배포.yaml 파일을 추가하려면
  1. 에서 라는 폴더를 codecatalyst-eks-source-repository 생성합니다. Kubernetes

  2. 에서 /Kubernetes 다음 내용이 deployment.yaml 포함된 파일을 생성합니다.

    apiVersion: v1 kind: Service metadata: name: my-service labels: app: my-app spec: type: LoadBalancer selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment labels: app: my-app spec: replicas: 3 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: codecatalyst-eks-container # The $REPOSITORY_URI and $IMAGE_TAG placeholders will be replaced by actual values supplied by the build action in your workflow image: $REPOSITORY_URI:$IMAGE_TAG ports: - containerPort: 80
  3. 추가, 커밋, 푸시:

    git add . git commit -m "add Kubernetes/deployment.yaml" git push

    deployment.yaml파일이 저장소의 라는 폴더에 추가됩니다Kubernetes.

이제 모든 소스 파일을 추가했습니다.

잠시 시간을 내어 작업을 다시 한 번 확인하고 모든 파일을 올바른 폴더에 배치했는지 확인하세요. 폴더 구조는 다음과 같습니다.

|— codecatalyst-eks-source-repository |— Kubernetes |— deployment.yaml |— public-html | |— index.html |— Dockerfile

5단계: AWS 역할 생성

이 섹션에서는 CodeCatalyst 워크플로가 작동하는 데 필요한 AWS IAM 역할을 만듭니다. 이러한 역할은 다음과 같습니다.

  • 빌드 역할 - (워크플로의) CodeCatalyst 빌드 작업에 AWS 계정에 액세스하고 Amazon ECR 및 Amazon에 글을 쓸 수 있는 권한을 EC2 부여합니다.

  • 배포 역할 - Kubernetes CodeCatalyst 배포 클러스터 작업 (워크플로의) 에 사용자 AWS 계정과 Amazon에 액세스할 수 있는 권한을 부여합니다. EKS

IAM역할에 대한 자세한 내용은 사용 설명서의 IAM AWS Identity and Access Management 역할을 참조하십시오.

참고

시간을 절약하기 위해 앞서 나열한 두 역할 대신 CodeCatalystWorkflowDevelopmentRole-spaceName 역할이라는 단일 역할을 만들 수 있습니다. 자세한 내용은 계정 및 스페이스에 대한 CodeCatalystWorkflowDevelopmentRole-spaceName역할 만들기 단원을 참조하십시오. CodeCatalystWorkflowDevelopmentRole-spaceName역할에는 보안 위험을 초래할 수 있는 매우 광범위한 권한이 있다는 점을 이해하세요. 보안이 덜 우려되는 자습서 및 시나리오에서만 이 역할을 사용하는 것이 좋습니다. 이 자습서에서는 앞서 나열한 두 개의 역할을 생성한다고 가정합니다.

빌드 및 배포 역할을 만들려면 다음 일련의 절차를 완료하세요.

1. 두 역할 모두에 대한 신뢰 정책을 만들려면
  1. 개발 환경으로 이동하세요.

  2. Cloud9-long-string디렉토리에서 다음 내용이 codecatalyst-eks-trust-policy.json 포함된 파일을 생성합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
2. 빌드 역할에 대한 빌드 정책을 만들려면
  • Cloud9-long-string디렉터리에 다음 내용이 codecatalyst-eks-build-policy.json 포함된 파일을 생성합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:*", "ec2:*" ], "Resource": "*" } ] }
    참고

    이 역할을 사용하여 워크플로 작업을 처음 실행할 때는 리소스 정책 설명에 와일드카드를 사용하고 사용 가능한 상태가 되면 리소스 이름을 지정하여 정책의 범위를 좁히십시오.

    "Resource": "*"
3. 배포 역할에 대한 배포 정책을 만들려면
  • Cloud9-long-string디렉터리에 다음 내용이 codecatalyst-eks-deploy-policy.json 포함된 파일을 생성합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster", "eks:ListClusters" ], "Resource": "*" } ] }
    참고

    이 역할을 사용하여 워크플로 작업을 처음 실행할 때는 리소스 정책 설명에 와일드카드를 사용하고 사용 가능한 상태가 되면 리소스 이름을 지정하여 정책의 범위를 좁히십시오.

    "Resource": "*"

이제 개발 환경에 세 개의 정책 문서를 추가했습니다. 이제 디렉터리 구조가 다음과 같이 보입니다.

|— Cloud9-long-string |— .c9 |— codecatalyst-eks-source-repository |— Kubernetes |— public-html |— Dockerfile codecatalyst-eks-build-policy.json codecatalyst-eks-deploy-policy.json codecatalyst-eks-trust-policy.json
4. 빌드 정책을 추가하려면 AWS
  1. 개발 환경 터미널에서 다음을 입력합니다.

    cd /projects
  2. 다음을 입력합니다.

    aws iam create-policy \ --policy-name codecatalyst-eks-build-policy \ --policy-document file://codecatalyst-eks-build-policy.json
  3. Enter를 누릅니다.

  4. 명령 출력에서 "arn": 값 (예:) 을 기록해 둡니다arn:aws:iam::111122223333:policy/codecatalyst-eks-build-policy. ARN나중에 필요합니다.

5. 배포 정책을 추가하려면 AWS
  1. 다음을 입력합니다.

    aws iam create-policy \ --policy-name codecatalyst-eks-deploy-policy \ --policy-document file://codecatalyst-eks-deploy-policy.json
  2. Enter를 누릅니다.

  3. 명령 출력에서 배포 정책 "arn": 값 (예:) 을 기록해 둡니다arn:aws:iam::111122223333:policy/codecatalyst-eks-deploy-policy. ARN나중에 이 정보가 필요합니다.

6. 빌드 역할을 만들려면
  1. 다음을 입력합니다.

    aws iam create-role \ --role-name codecatalyst-eks-build-role \ --assume-role-policy-document file://codecatalyst-eks-trust-policy.json
  2. Enter를 누릅니다.

  3. 입력:

    aws iam attach-role-policy \ --role-name codecatalyst-eks-build-role \ --policy-arn arn:aws:iam::111122223333:policy/codecatalyst-eks-build-policy

    위치 arn:aws:iam::111122223333:policy/codecatalyst-eks-build-policy 앞에서 언급한 빌드 정책으로 대체됩니다. ARN

  4. Enter를 누릅니다.

  5. 터미널 프롬프트에서 다음을 입력합니다.

    aws iam get-role \ --role-name codecatalyst-eks-build-role
  6. Enter를 누릅니다.

  7. 역할 "Arn": 값 (예:) 을 기록해 둡니다arn:aws:iam::111122223333:role/codecatalyst-eks-build-role. ARN나중에 필요합니다.

7. 배포 역할을 만들려면
  1. 다음을 입력합니다.

    aws iam create-role \ --role-name codecatalyst-eks-deploy-role \ --assume-role-policy-document file://codecatalyst-eks-trust-policy.json
  2. Enter를 누릅니다.

  3. 입력:

    aws iam attach-role-policy \ --role-name codecatalyst-eks-deploy-role \ --policy-arn arn:aws:iam::111122223333:policy/codecatalyst-eks-deploy-policy

    위치 arn:aws:iam::111122223333:policy/codecatalyst-eks-deploy-policy 앞에서 언급한 배포 정책으로 대체됩니다. ARN

  4. Enter를 누릅니다.

  5. 다음을 입력합니다.

    aws iam get-role \ --role-name codecatalyst-eks-deploy-role
  6. Enter를 누릅니다.

  7. 역할 "Arn": 값 (예:) 을 기록해 둡니다arn:aws:iam::111122223333:role/codecatalyst-eks-deploy-role. ARN나중에 필요합니다.

이제 빌드 및 배포 역할을 생성하고 해당 역할을 기록했습니다ARNs.

6단계: AWS 역할 추가 CodeCatalyst

이 단계에서는 스페이스에 연결한 위치에 빌드 역할 (codecatalyst-eks-build-rolecodecatalyst-eks-deploy-role) 과 배포 역할 () 을 추가합니다. AWS 계정 이렇게 하면 워크플로에서 역할을 사용할 수 있습니다.

빌드 및 배포 역할을 사용자 계정에 추가하려면 AWS 계정
  1. CodeCatalyst 콘솔에서 스페이스로 이동합니다.

  2. 상단에서 설정을 선택합니다.

  3. 탐색 창에서 AWS 계정을 선택합니다. 계정 목록이 나타납니다.

  4. Amazon CodeCatalyst 디스플레이 이름 열에서 빌드 및 배포 역할을 생성한 AWS 계정 곳의 디스플레이 이름을 복사합니다. (숫자일 수 있습니다.) 이 값은 나중에 워크플로를 만들 때 필요합니다.

  5. 표시 이름을 선택합니다.

  6. 관리 콘솔에서 역할 AWS 관리를 선택합니다.

    Amazon CodeCatalyst 스페이스에 IAM 역할 추가 페이지가 나타납니다. 페이지에 액세스하려면 로그인해야 할 수 있습니다.

  7. 에서 생성한 기존 역할 추가를 선택합니다IAM.

    드롭다운 목록이 나타납니다. 목록에는 빌드 및 배포 역할과, codecatalyst-runner.amazonaws.com.rproxy.goskope.comcodecatalyst.amazonaws.com 서비스 IAM 주체를 포함하는 신뢰 정책이 적용된 기타 모든 역할이 표시됩니다.

  8. 드롭다운 목록에서 다음을 추가합니다.

    • codecatalyst-eks-build-role

    • codecatalyst-eks-deploy-role

    참고

    표시되는 The security token included in the request is invalid 경우 적절한 권한이 없기 때문일 수 있습니다. 이 문제를 해결하려면 CodeCatalyst 스페이스를 만들 때 사용한 AWS 계정으로 로그아웃하고 다시 로그인하세요. AWS

  9. CodeCatalyst 콘솔로 돌아가서 페이지를 새로고침하세요.

    이제 빌드 및 배포 역할이 IAM역할 아래에 표시되어야 합니다.

    이제 CodeCatalyst 워크플로에서 이러한 역할을 사용할 수 있습니다.

7단계: 업데이트 ConfigMap

Kubernetes 파일에 생성한 배포 역할을 Kubernetes ConfigMap 파일에 추가하여 (워크플로의) Deploy to Kubernetes 클러스터 작업에 클러스터에 액세스하고 클러스터와 상호 작용할 수 있는 기능을 부여해야 합니다. 5단계: AWS 역할 생성 또는 를 사용하여 eksctl 이 작업을 수행할 수 있습니다. kubectl

eksctl을 사용하여 쿠버네티스 파일을 ConfigMap 구성하려면
  • 개발 환경 터미널에서 다음을 입력합니다.

    eksctl create iamidentitymapping --cluster codecatalyst-eks-cluster --arn arn:aws:iam::111122223333:role/codecatalyst-eks-deploy-role --group system:masters --username codecatalyst-eks-deploy-role --region us-west-2

    위치:

    • codecatalyst-eks-cluster Amazon EKS 클러스터의 클러스터 이름으로 대체됩니다.

    • arn:aws:iam::111122223333:role/codecatalyst-eks-deploy-role 에서 생성한 배포 ARN 역할의 역할로 대체됩니다5단계: AWS 역할 생성.

    • codecatalyst-eks-deploy-role (옆--username) 은 에서 만든 배포 역할의 이름으로 바뀝니다5단계: AWS 역할 생성.

      참고

      배포 역할을 만들지 않기로 결정했다면 다음을 대체하십시오.codecatalyst-eks-deploy-role CodeCatalystWorkflowDevelopmentRole-spaceName역할 이름과 함께. 이에 대한 자세한 내용은 5단계: AWS 역할 생성 섹션을 참조하세요.

    • us-west-2 해당 지역으로 대체됩니다.

    이 명령에 대한 자세한 내용은 IAM사용자 및 역할 관리를 참조하십시오.

    다음과 비슷한 메시지가 나타납니다.

    2023-06-09 00:58:29 [ℹ]  checking arn arn:aws:iam::111122223333:role/codecatalyst-eks-deploy-role against entries in the auth ConfigMap
    2023-06-09 00:58:29 [ℹ]  adding identity "arn:aws:iam::111122223333:role/codecatalyst-eks-deploy-role" to auth ConfigMap
kubectl을 사용하여 쿠버네티스 파일을 ConfigMap 구성하려면
  1. 개발 환경 터미널에서 다음을 입력합니다.

    kubectl edit configmap -n kube-system aws-auth

    ConfigMap 파일이 화면에 나타납니다.

  2. 빨간색 기울임꼴로 텍스트 추가:

    # Please edit the object below. Lines beginning with a '#' will be ignored,
    # and an empty file will abort the edit. If an error occurs while saving this file will be
    # reopened with the relevant failures.
    #
    apiVersion: v1
    data:
      mapRoles: |
        - groups:
          - system:bootstrappers
          - system:nodes
          rolearn: arn:aws:iam::111122223333:role/eksctl-codecatalyst-eks-cluster-n-NodeInstanceRole-16BC456ME6YR5
          username: system:node:{{EC2PrivateDNSName}}
        - groups:
          - system:masters
          rolearn: arn:aws:iam::111122223333:role/codecatalyst-eks-deploy-role
          username: codecatalyst-eks-deploy-role
      mapUsers: |
        []
    kind: ConfigMap
    metadata:
      creationTimestamp: "2023-06-08T19:04:39Z"
      managedFields:
      ...

    위치:

    • arn:aws:iam::111122223333:role/codecatalyst-eks-deploy-role 에서 5단계: AWS 역할 생성 생성한 배포 ARN 역할의 역할로 대체됩니다.

    • codecatalyst-eks-deploy-role (옆username:) 은 에서 만든 배포 역할의 이름으로 바뀝니다5단계: AWS 역할 생성.

      참고

      배포 역할을 만들지 않기로 결정했다면 다음을 대체하십시오.codecatalyst-eks-deploy-role CodeCatalystWorkflowDevelopmentRole-spaceName역할 이름과 함께. 이에 대한 자세한 내용은 5단계: AWS 역할 생성 섹션을 참조하세요.

    자세한 내용은 Amazon 사용 EKS 설명서의 클러스터에 대한 IAM 보안 주체 액세스 활성화를 참조하십시오.

이제 쿠버네티스 클러스터에 배포 역할, 나아가 Amazon에 배포 EKS 작업 system:masters 권한을 부여했습니다.

8단계: 워크플로 생성 및 실행

이 단계에서는 소스 파일을 가져와 Docker 이미지로 빌드한 다음 Amazon 클러스터의 트리 포드에 이미지를 배포하는 워크플로를 생성합니다. EKS

워크플로는 순차적으로 실행되는 다음과 같은 구성 블록으로 구성됩니다.

  • 트리거 - 이 트리거는 소스 리포지토리에 변경 내용을 푸시할 때 워크플로가 자동으로 실행됩니다. 트리거에 대한 자세한 내용은 트리거를 사용하여 자동으로 워크플로 실행 시작 주제를 참조하십시오.

  • 빌드 작업 (BuildBackend) — 트리거 시 작업은 Dockerfile을 사용하여 Docker 이미지를 빌드하고 Amazon에 이미지를 푸시합니다. ECR 또한 빌드 작업은 deployment.yaml 파일의 $REPOSITORY_URI$IMAGE_TAG 변수를 올바른 값으로 업데이트한 다음 이 파일과 폴더 내 다른 파일의 출력 아티팩트를 생성합니다. Kubernetes 이 자습서에서는 Kubernetes 폴더에 있는 유일한 deployment.yaml 파일이지만 더 많은 파일을 포함할 수 있습니다. 아티팩트는 다음 단계인 배포 작업의 입력으로 사용됩니다.

    빌드 작업에 대한 자세한 내용은 을 참조하십시오워크플로를 사용한 빌드.

  • 배포 작업 (DeployToEKS) — 빌드 작업이 완료되면 배포 작업은 빌드 작업 (Manifests) 에서 생성된 출력 아티팩트를 찾고 그 안에서 deployment.yaml 파일을 찾습니다. 그러면 액션은 deployment.yaml 파일의 지침에 따라 파드 3개를 실행하는데, 각 파드에는 'Hello, World! '하나가 하나씩 들어 있다. 도커 컨테이너 - Amazon 클러스터 내부. EKS

워크플로 생성 방법
  1. 콘솔로 이동합니다. CodeCatalyst

  2. 프로젝트 (codecatalyst-eks-project) 로 이동합니다.

  3. 탐색 창에서 CI/CD를 선택한 다음 워크플로를 선택합니다.

  4. 워크플로 만들기를 선택합니다.

  5. 소스 리포지토리의 경우 선택합니다codecatalyst-eks-source-repository.

  6. Branch의 경우 선택하십시오main.

  7. 생성(Create)을 선택합니다.

  8. YAML샘플 코드를 삭제합니다.

  9. 다음 YAML 코드를 추가하여 새 워크플로 정의 파일을 생성합니다.

    참고

    워크플로 정의 파일에 대한 자세한 내용은 을 참조하십시오워크플로 YAML 정의.

    참고

    다음 YAML 코드에서는 원하는 경우 Connections: 섹션을 생략할 수 있습니다. 이러한 섹션을 생략하는 경우 환경의 기본 역할 필드에 지정된 역할에 에서 설명한 두 IAM 역할의 권한 및 신뢰 정책이 포함되는지 확인해야 합니다. 6단계: AWS 역할 추가 CodeCatalyst 기본 IAM 역할을 사용하여 환경을 설정하는 방법에 대한 자세한 내용은 을 참조하십시오환경 생성.

    Name: codecatalyst-eks-workflow SchemaVersion: 1.0 Triggers: - Type: PUSH Branches: - main Actions: BuildBackend: Identifier: aws/build@v1 Environment: Name: codecatalyst-eks-environment Connections: - Name: codecatalyst-account-connection Role: codecatalyst-eks-build-role Inputs: Sources: - WorkflowSource Variables: - Name: REPOSITORY_URI Value: 111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-eks-image-repo - Name: IMAGE_TAG Value: ${WorkflowSource.CommitId} Configuration: Steps: #pre_build: - Run: echo Logging in to Amazon ECR... - Run: aws --version - Run: aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 111122223333.dkr.ecr.us-west-2.amazonaws.com #build: - Run: echo Build started on `date` - Run: echo Building the Docker image... - Run: docker build -t $REPOSITORY_URI:latest . - Run: docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG #post_build: - Run: echo Build completed on `date` - Run: echo Pushing the Docker images... - Run: docker push $REPOSITORY_URI:latest - Run: docker push $REPOSITORY_URI:$IMAGE_TAG # Replace the variables in deployment.yaml - Run: find Kubernetes/ -type f | xargs sed -i "s|\$REPOSITORY_URI|$REPOSITORY_URI|g" - Run: find Kubernetes/ -type f | xargs sed -i "s|\$IMAGE_TAG|$IMAGE_TAG|g" - Run: cat Kubernetes/* # The output artifact will be a zip file that contains Kubernetes manifest files. Outputs: Artifacts: - Name: Manifests Files: - "Kubernetes/*" DeployToEKS: DependsOn: - BuildBackend Identifier: aws/kubernetes-deploy@v1 Environment: Name: codecatalyst-eks-environment Connections: - Name: codecatalyst-account-connection Role: codecatalyst-eks-deploy-role Inputs: Artifacts: - Manifests Configuration: Namespace: default Region: us-west-2 Cluster: codecatalyst-eks-cluster Manifests: Kubernetes/

    위 코드에서 다음을 바꾸십시오.

    • 두 인스턴스 모두 codecatalyst-eks-environment 만든 환경의 이름을 사용하세요사전 조건.

    • 두 인스턴스 모두 codecatalyst-account-connection 계정 연결의 디스플레이 이름과 함께. 표시 이름은 숫자일 수 있습니다. 자세한 내용은 6단계: AWS 역할 추가 CodeCatalyst 단원을 참조하십시오.

    • codecatalyst-eks-build-role 에서 만든 빌드 역할의 이름을 사용합니다5단계: AWS 역할 생성.

    • 111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-eks-image-repo (Value:속성에) 생성한 Amazon ECR 리포지토리의 정보를 포함합니다3단계: Amazon ECR 이미지 리포지토리 생성. URI

    • 111122223333.dkr.ecr.us-west-2.amazonaws.com (Run: aws ecr명령에서) 이미지 접미사 (/codecatalyst-eks-image-repo) 가 없는 Amazon ECR 리포지토리를 사용합니다. URI

    • codecatalyst-eks-deploy-role 에서 생성한 배포 역할의 이름을 사용합니다. 5단계: AWS 역할 생성

    • 의 두 인스턴스 모두 us-west-2 AWS 지역 코드를 사용하세요. 지역 코드 목록은 의 지역 엔드포인트를 참조하십시오. AWS 일반 참조

    참고

    빌드 및 배포 역할을 생성하지 않기로 결정했다면 다음을 대체하세요.codecatalyst-eks-build-role 그리고 codecatalyst-eks-deploy-role CodeCatalystWorkflowDevelopmentRole-spaceName역할 이름을 입력하세요. 이에 대한 자세한 내용은 5단계: AWS 역할 생성 섹션을 참조하세요.

  10. (선택 사항) [Validate] 를 선택하여 커밋하기 전에 YAML 코드가 유효한지 확인합니다.

  11. 커밋을 선택합니다.

  12. 워크플로 커밋 대화 상자에 다음을 입력합니다.

    1. 커밋 메시지의 경우 텍스트를 제거하고 다음을 입력합니다.

      Add first workflow
    2. 리포지토리의 경우 선택합니다codecatalyst-eks-source-repository.

    3. 브랜치 이름으로 main을 선택합니다.

    4. 커밋을 선택합니다.

    이제 워크플로가 생성되었습니다. 워크플로 맨 위에 정의된 트리거로 인해 워크플로 실행이 자동으로 시작됩니다. 특히 workflow.yaml 파일을 소스 리포지토리에 커밋 (및 푸시) 하면 트리거가 워크플로 실행을 시작했습니다.

워크플로 실행 진행 상황을 보려면
  1. CodeCatalyst 콘솔의 탐색 창에서 CI/CD를 선택한 다음 워크플로를 선택합니다.

  2. 방금 만든 워크플로를 선택합니다. codecatalyst-eks-workflow

  3. 빌드 진행 상황을 BuildBackend확인하도록 선택합니다.

  4. DeployToEKS선택하여 배포 진행 상황을 확인하세요.

    실행 세부 정보 보기에 대한 자세한 내용은 을 참조하십시오워크플로 실행 상태 및 세부 정보 보기.

배포를 확인하려면
  1. 에서 Amazon EC2 콘솔을 엽니다 https://console.aws.amazon.com/ec2/.

  2. 왼쪽 하단에서 로드 밸런서를 선택합니다.

  3. Kubernetes 배포의 일부로 생성된 로드 밸런서를 선택합니다. 어떤 로드 밸런서를 선택해야 할지 잘 모르겠으면 Tags 탭에서 다음 태그를 찾아보세요.

    • kubernetes.io/service-name

    • kubernetes.io/cluster/ekstutorialcluster

  4. 올바른 로드 밸런서를 선택한 상태에서 설명 탭을 선택합니다.

  5. DNS이름 값을 복사하여 브라우저의 주소 표시줄에 붙여넣습니다.

    '헬로, 월드! ' 웹 페이지가 브라우저에 표시되어 애플리케이션을 성공적으로 배포했음을 나타냅니다.

9단계: 소스 파일 변경

이 섹션에서는 소스 리포지토리의 index.html 파일을 변경합니다. 이 변경으로 인해 워크플로우는 새 Docker 이미지를 빌드하고, 커밋 ID로 태그를 지정하고, Amazon으로 푸시하고ECR, ECS Amazon에 배포합니다.

index.html 변경하기
  1. 개발 환경으로 이동하세요.

  2. 터미널 프롬프트에서 소스 리포지토리로 변경합니다.

    cd /projects/codecatalyst-eks-source-repository
  3. 최신 워크플로 변경 내용 가져오기:

    git pull
  4. codecatalyst-eks-source-repository/public-html/index.html를 엽니다.

  5. 14번째 줄에서 Hello, World! 텍스트를 로 변경합니다Tutorial complete!.

  6. 추가, 커밋, 푸시:

    git add . git commit -m "update index.html title" git push

    워크플로 실행이 자동으로 시작됩니다.

  7. (선택 사항) 다음을 입력합니다.

    git show HEAD

    index.html변경 내용을 위한 커밋 ID를 기록해 둡니다. 이 커밋 ID는 방금 시작한 워크플로 실행에서 배포될 Docker 이미지에 태그가 지정됩니다.

  8. 배포 진행 상황 보기:

    1. CodeCatalyst 콘솔의 탐색 창에서 CI/CD를 선택한 다음 워크플로를 선택합니다.

    2. 최근 codecatalyst-eks-workflow 실행을 보도록 선택합니다.

    3. 선택하고 BuildBackend워크플로우 실행 진행 DeployToEKS상황을 확인하세요.

  9. 다음과 같이 애플리케이션이 업데이트되었는지 확인하십시오.

    1. 에서 Amazon EC2 콘솔을 엽니다 https://console.aws.amazon.com/ec2/.

    2. 왼쪽 하단에서 로드 밸런서를 선택합니다.

    3. Kubernetes 배포의 일부로 생성된 로드 밸런서를 선택합니다.

    4. DNS이름 값을 복사하여 브라우저의 주소 표시줄에 붙여넣습니다.

      '튜토리얼 완료! ' 브라우저에 웹 페이지가 나타나 애플리케이션의 새 버전을 성공적으로 배포했음을 나타냅니다.

  10. (선택 사항) 에서 AWS Amazon ECR 콘솔로 전환하여 이 절차의 7단계에서 새 Docker 이미지에 커밋 ID 태그가 지정되었는지 확인합니다.

정리

이 자습서에서 사용하는 스토리지 및 컴퓨팅 리소스에 대해 불필요하게 요금이 청구되지 않도록 환경을 정리해야 합니다.

정리하려면
  1. 클러스터 삭제:

    1. 개발 환경 터미널에서 다음을 입력합니다.

      eksctl delete cluster --region=us-west-2 --name=codecatalyst-eks-cluster

      위치:

      • us-west-2 해당 지역으로 바뀝니다.

      • codecatalyst-eks-cluster 생성한 클러스터의 이름으로 대체됩니다.

      5~10분 후 AWS CloudFormation 스택, 노드 그룹 (AmazonEC2), 로드 밸런서를 포함하나 이에 국한되지 않는 클러스터 및 관련 리소스가 삭제됩니다.

    중요

    eksctl delete cluster명령이 작동하지 않는 경우 AWS 자격 증명 또는 자격 증명을 새로 고쳐야 할 수 있습니다. kubectl 어떤 자격 증명을 새로 고쳐야 할지 잘 모르겠으면 먼저 AWS 자격 증명을 새로 고치세요. AWS 자격 증명을 새로 고치려면 을 참조하십시오“자격 증명을 찾을 수 없음” 및 "ExpiredToken" 오류를 해결하려면 어떻게 해야 하나요?. kubectl자격 증명을 새로 고치려면 을 참조하십시오“서버에 연결할 수 없음” 오류를 해결하려면 어떻게 해야 하나요?.

  2. AWS 콘솔에서 다음과 같이 정리합니다.

    1. ECRAmazon에서는 삭제하십시오codecatalyst-eks-image-repo.

    2. IAMID 센터에서 삭제:

      1. codecatalyst-eks-user

      2. codecatalyst-eks-permission-set

    3. IAM에서 삭제:

      • codecatalyst-eks-build-role

      • codecatalyst-eks-deploy-role

      • codecatalyst-eks-build-policy

      • codecatalyst-eks-deploy-policy

  3. CodeCatalyst 콘솔에서 다음과 같이 정리합니다.

    1. 삭제codecatalyst-eks-workflow.

    2. 삭제codecatalyst-eks-environment.

    3. 삭제codecatalyst-eks-source-repository.

    4. 개발 환경을 삭제하세요.

    5. 삭제codecatalyst-eks-project.

이 자습서에서는 CodeCatalyst 워크플로와 Kubernetes에 배포 클러스터 작업을 사용하여 Amazon EKS 서비스에 애플리케이션을 배포하는 방법을 배웠습니다.