반응형

1. 시험환경

    ˙ 윈도우

    ˙ Docker Desktop(docker, docker-compose)

 

2. 목적

    ˙ 윈도우 운영체제에서 Docker Desktop을 설치한다.

    ˙ Docker Desktop을 설치하면 docker와 docker-compose가 모두 설치된다.

 

3. 적용

    ① Docker 사이트에 접속한다.

        - URL : https://www.docker.com/

 

Empowering App Development for Developers | Docker

Learn how Docker helps developers bring their ideas to life by conquering the complexity of app development.

www.docker.com

 

    ② 사이트 화면 "우측 상단"에 "Get Stared" 버튼을 클릭한다.

 

    ③ Windows "Docker Desktop" 설치 프로그램을 다운 받는다.

        - Docker Desktop : Docker Image를 사용할 수 있는 프로그램

        - Docker Hub : Docker Image가 저장된 Cloud 저장소

 

    ④ 설치 파일이 다운완료되면 실행한다.

 

    ⑤ Docker 설치가 완료되면 PC 재부팅한다.

 

4. 결과

    ˙ 바탕화면에 생성된 Docker Desktop을 실행하 GUI 화면이 나타나는 것을 확인한다.

Docker Desktop GUI

 

    ˙ 명령 프롬프트(CLI)에서 "docker 버전" 및 "docker" 명령어를 실행하여 동작을 확인한다.

반응형
반응형

1. 시험환경

    ˙ AWS ECR, EC2

    ˙ Docker

    ˙ 우분투(ubuntu) 리눅스

 

2. 목적

    ˙ AWS ECR에 저장된 이미지를 EC2(ubuntu)에서 다운로드(pull) 받는 방법을 알아보자.

    ˙ 이와 관련된 AWS Cli 명령어를 알아보자.

 

3. 적용

    ① ECR 권한을 가진 IAM 사용자의 AccessKey, SecretKey 등 입력한다.

        - IAM 사용자 등록 : $aws configure

        - 자격증명 확인 : $aws sts get-caller-identity

 

    ② ECR에 접근 가능한 docker client 승인 토큰을 발급 받는다.

        - $ aws ecr get-login-password --region [region-이름] | docker login --username AWS --password-stdin [계정-ID].dkr.ecr.[region-이름].amazonaws.com

 

    ③ aws-cli 명령어를 통해 ECR repository 목록 조회한다.

        - $ aws ecr describe-repositories

 

    ④ 특정 repository 정보를 조회한다.

        - $ aws ecr describe-image --repository-name [repository-이름]

 

    ⑤ ECR Repository에서 이미지를 다운로드(pull) 한다.

        - $ docker pull [aws_ccount_id].ecr.[region-이름].amazonaws.com/[repository-이름]:[TAG]

 

4. 결과

    ˙ 다운받은 이미지를 확인한다.

        - $ docker images

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ Ubuntu

    ˙ kubectl

 

2. 목적

    ˙ EKS Cluster 및 NodeGroup 설치 완료 후 최초 접속을 위한 설정을 알아보자.

    ˙ EKS Cluster와 통신하여 기초 명령어 동작을 확인한다.

 

3. 적용

    ① AWS EKS Cluster를 생성한다.

    - 참고 : https://languagestory.tistory.com/276

 

AWS EKS Cluster 생성 (AWS 웹 콘솔)

1. 시험환경 ˙ AWS EKS ˙ AWS Web Console 2. 목적 ˙ AWS 웹 콘솔에 접속하여 EKS Cluster를 설치한다. 3. 적용 ① EKS Control Plane에서 사용할 역할(Role)을 생성한다. - 참고 : https://languagestory.tistory.com/275 EKS Contro

languagestory.tistory.com

 

    ② AWS EKS NodeGroup을 생성한다.

    - 참고 : https://languagestory.tistory.com/279

 

AWS EKS NodeGroup 생성 (AWS 웹 콘솔)

1. 시험환경 ˙ AWS EKS ˙ AWS Web Console 2. 목적 ˙ AWS 웹 콘솔에 접속하여 EKS NodeGroup을 설치한다. 3. 적용 ① EKS Cluster를 생성한다. - 참고 : ② EKS Cluster "컴퓨팅" 탭에서 "노드 그룹 추가" 버튼을 클릭한

languagestory.tistory.com

 

    ③ EKS 접속을 위한 Remote PC에 접속한다.

        - 여기서는 Ubuntu EC2를 사용한다.

 

    ④ Remote PC에 Kubectl을 설치한다.

        - 참고 : https://languagestory.tistory.com/192

 

우분투(ubuntu) 리눅스(linux) 환경에서 kubectl 설치하기

1. 시험환경 ˙ 우분투(ubuntu) 리눅스(linux) v20.04 ˙ kubectl 2. 목적 ˙ 우분투(ubuntu) 리눅스(linux) 환경에서 kubectl 설치하는 방법을 알아보자. 3. 적용 ① kubernetes 사이트에서 설치 가이드를 제공한다. - U

languagestory.tistory.com

 

    ⑤ Remote PC에 AWS CLI를 설치한다.

        - 참고 : https://languagestory.tistory.com/249

 

우분투(Ubuntu) 환경에 AWS CLI 설치하기

1. 시험환경 ˙ Ubuntu(우분투) 리눅스 2. 목적 ˙ Ubuntu(우분투) 리눅스 환경에서 AWS CLI 최신 버전 설치하는 방법을 알아보자. 3. 적용 ① AWS 공식문서에 운영체제별 AWS CLI 설치방법이 소개되어 있다. -

languagestory.tistory.com

 

    ⑥ AWS 자격증명 인증을 한다.

        - 참고 : https://languagestory.tistory.com/269

 

AWS CLI 자격 증명 (aws configure)

1. 시험환경 ˙ 윈도우 ˙ aws cli 2. 목적 ˙ aws configure 명령어를 이용하여 IAM 사용자 자격증명하는 방법을 알아보자. ˙ 여러 개의 자격 증명을 등록하고 기본값을 설정하는 방법을 알아보자. 3. 적용

languagestory.tistory.com

 

    ⑦ Remote PC에서 EKS 접속을 위한 설정을 한다.

        - Kubectl 사용을 위한 Kubeconfig 설정 : aws eks update-kubeconfig --region [region-이름] --name [eks-cluster-이름]

        - 접속 서버 API 등 EKS 자원 호출을 위한 정보를 확인 : cat /home/ubuntu/.kube/config

 

4. 결과

    ˙ kubectl 명령어를 사용하여 EKS Cluster와 통신을 확인한다.

          - EKS Worker Node 목록 : kubectl get nodes

          - EKS 기동중인 pod 전체 목록 : kubectl get pod -A

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ EKS NodeGroup

 

2. 목적

    ˙ EKS NodeGroup 생성시 발생한 Error 로그를 확인하고 문제점을 해결한다.

 

3. 적용

    ① EKS NodeGroup 생성 실패

        - EC2에 public IP를 할당 받기 위해서는 서브넷에서 "public IP Address 자동 할당"을 enabeld 하라고 명시

 

    ② 해결책) 안내에 따라 Subnet의 설정을 변경한다.


     에러 로그

 

     해결책)

VPC, Subnet 등 모든 인프라 삭제 후 다시 시작

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ AWS Web Console

 

2. 목적

    ˙ AWS 웹 콘솔에 접속하여 EKS NodeGroup을 설치한다.

 

3. 적용

    ① EKS Cluster를 생성한다.

        - 참고 : 

 

 

    EKS Cluster "컴퓨팅" 탭에서 "노드 그룹 추가" 버튼을 클릭한다.

 

    EKS NodeGoup 이름 / 역할 등 구성정보를 입력한다.

 

    NodeGoup 컴퓨팅 구성 정보를 입력한다.

 

    NodeGroup Scale In/Out 구성 정보를 입력한다.

 

    EC2 인스턴스가 배치될 Subnect을 설정한다.

        - production에서는 보통 private Subnet으로 운영한다.
        - 여기서는, 테스트 목적이므로 public subnet 사용한다.

 

    현재까지 구성한 설정정보 검토 및 EKS NodeGroup을 생성한다.

 

    EKS NodeGroup을 활성화 하려면 시간이 소요된다.

 

4. 결과

    ˙ NodeGroup이 활성화된 것을 확인한다.

 

    ˙ AutoScaling그룹과 EC2가 생성된 것을 확인한다.

 

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ AWS Web Console

 

2. 목적

    ˙ AWS EKS NodeGroup 설치를 위한 사전 작업을 준비한다.

    ˙ EKS Cluster의 NodeGroup이 사용할 Service Role 생성한다.

    ˙ 생성한 IAM Service Role에 정책(policy)을 부여한다.

         - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
         - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
         - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly

 

3. 적용

    ① IAM 역할을 생성한다.

 

    ② 신뢰할 수 있는 엔터티 유형을 설정한다.

        - 방법 1) "AWS 서비스" → 사용 사례로 "EC2" 선택

 

        - 방법 2) "사용자 지정 신뢰 정책" → 직접 입력

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "Service":"ec2.amazonaws.com"
         },
         "Action":"sts:AssumeRole"
      }
   ]
}

 

    ③ Policy를 추가한다.

        - "eks" 키워드로 필터링해서 "AmazonEKSWorkerNodePolicy"와 "AmazonEKS_CNI_Policy" 추가

        - "ec2container" 키워드로 필터링해서 "AmazonEC2ContainerRegistryReadOnly" 추가

 

 

    ④ Role 이름을 부여한다.

 

    ⑤ 생성된 역할(Role)을 클릭한다.

 

 

 

4. 결과

    ˙ 역할에 부여된 정책(policy)을 확인한다.

        - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
        - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
        - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ AWS Web Console

 

2. 목적

    ˙ AWS 웹 콘솔에 접속하여 EKS Cluster를 설치한다.

 

3. 적용

    ① EKS Control Plane에서 사용할 역할(Role)을 생성한다.

        - 참고 : https://languagestory.tistory.com/275

 

EKS Control Plane 사용을 위한 IAM Role 생성

1. 시험환경 ˙ AWS EKS ˙ AWS Web Console 2. 목적 ˙ AWS EKS Cluster 설치를 위한 사전 작업을 준비한다. ˙ EKS Cluster의 Control Plane이 사용할 Service Role 생성한다. ˙ 생성한 IAM Service Role에 정책(policy)을 부여한

languagestory.tistory.com

 

    ② EKS Control Plane에서 사용할 보안그룹(Security Group)을 생성한다.

        - 참고 : https://languagestory.tistory.com/277

 

EKS Cluster 사용을 위한 보안그룹(Security Group) 설정

1. 시험환경 ˙ AWS EKS ˙ AWS Web Console 2. 목적 ˙ EKS Cluster 설치를 위한 사전 준비 작업이다. ˙ EKS Cluster 생성시 Control Plane에서 사용할 보안그룹을 생성한다. 3. 적용 ① EKS Cluster에 적용할 보안 그룹을

languagestory.tistory.com

 

    ③ EKS Cluster 이름 / 버전 / 역할 등 구성정보를 입력한다.

 

    ④ EKS NodeGroup이 위치할 VPC / 서비스 / 보안그룹 등을 설정한다.

        - 서브넷은 반드시 2개의 이상의 Multi AZ로 구성해야 EKS Cluster가 생성된다.

        - production에서는 보통 private Subnet으로 운영한다.
        - 여기서는, 테스트 목적이므로 public subnet 사용한다.

 

    ⑤ EKS Cluster 엔드포인트를 설정한다.

        - EKS ControlPlane ENI를 "Public Subnet"으로 설정한 경우,

        - "퍼블릭 및 프라이빗"으로 허용하는 것이 NodeGroup과 통신할 때 원활하다.

 

    ⑥ 로깅을 구성한다.

        - ControlPlane의 로그를 CloudWatch로 전송 설정

        - EKS Cluster가 생성되면 Container를 배포하고 실행시키는 Data-Plane 뿐만 아니라,
        - EKS Cluster를 기동 및 운영하기 위한 요소들이 AWS에서 자체적으로 관리되어 사용자들에게는 접속 및 접근이 제한된

           Control-Plane 영역으로 분리 되어 있다.

        - Control-Plane에서 장애가 발생하면 AWS에서 자동적으로 조치되는 경우도 있지만,
           일반 사용자는 조치가 어렵기 때문에 AWS에 Case-Open 요청을 위해 로깅 부분을 활성화한다.

        - 여기서는 비용 문제로 비활성화 상태로 설정한다.

 

    ⑦ 추가 기능을 선택한다.

 

    ⑧ 선택한 추가기능의 버전을 선택한다.

 

    ⑨ 현재까지 구성한 설정정보 검토 및 EKS Cluster를 생성한다.

 

    ⑩ EKS Cluster 생성을 완료하려면 10분 이상 소요된다.

 

4. 결과

    ˙ EKS Cluster가 활성화된 것을 확인한다.

 

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ AWS Web Console

 

2. 목적

    ˙ EKS Cluster 설치를 위한 사전 준비 작업이다.

    ˙ EKS Cluster 생성시 Control Plane에서 사용할 보안그룹을 생성한다.

 

3. 적용

    ① EKS Cluster에 적용할 보안 그룹을 생성한다.

 

    ② 보안그룹 인바운드/아웃바운드 규칙을 설정한다.

        - 충분하게 설정해 놓고 EKS 서비스 구축이 완료되면 인바운드/아웃바운드 규칙을 보안 규정에 맡게 좁혀서 설정한다.

 

4. 결과

    ˙ 여기서, 생성된 보안그룹은 EKS 설치시 참조된다.

        -  참고 : https://languagestory.tistory.com/276

 

반응형

+ Recent posts