반응형

1. 시험환경

    ˙ 우분투(ubuntu) v22.04

    ˙ 도커(docker) 최신버전

 

2. 목적

    ˙ 우분투(ubuntu) 리눅스 환경에서 도커(docker) 최선버전을 설치하는 방법을 알아보자.

 

3. 적용

    ① docker 공식 사이트에 접속한다.

        - URL : https://docs.docker.com/compose/install/

 

Overview

 

docs.docker.com

 

    ② 각 운영체제(Linux/MAC/Windows) 마다 도커(docker) 설치방법을 제공한다.

        - 여기서는 Linux Ubuntu 환경에서 설치한다.

 

    ③ 설치 가이드에 따라 script를 각각 실행하거나 스크립트 파일로 작성하여 일괄 실행한다.

        - chmod u+x [스크립트파일.sh]

install-docker.sh
0.00MB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env bash
## INFO: https://docs.docker.com/engine/install/ubuntu/
 
set -euf -o pipefail
 
DOCKER_USER=ubuntu
 
# Install dependencies
sudo apt-get update && sudo apt-get install -y \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg \
  lsb-release
 
# Add Docker’s official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --yes --dearmor -/usr/share/keyrings/docker-archive-keyring.gpg
 
# Set up the stable repository
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 
# Install Docker CE
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io
 
# Use Docker without root
sudo usermod -aG docker $DOCKER_USER
 
cs

 

4. 결과

    ˙ ubuntu에 설치된 도커(docker) 버전을 확인한다.

        - $ docker -v

 

반응형
반응형

1. 시험환경

    ˙ 우분투(ubuntu) 리눅스 v22.04

    ˙ docker-compose

 

2. 목적

    ˙ 우분투(ubuntu) 리눅스(linux) 환경에서 docker-compose 설치하는 방법을 알아보자.

 

3. 적용

    ① docker 공식 사이트에서 docker-compose 설치 가이드를 제공한다.

        - URL : https://docs.docker.com/compose/install/

 

Overview

 

docs.docker.com

 

    ② 각 운영체제(Linux/MAC/Windows) 마다 설치방법을 제공한다.

        - 여기서는 우분투(ubuntu) 리눅스(linux) 환경에서 설치한다.

 

    ③ 설치 가이드에 따라 script를 작성하여 실행한다.

        - chmod u+x [스크립트파일.sh]

        - DOCKER_COMPOSE_VERSION : 설치할 버전 지정

install-docker-compose.sh
0.00MB

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env bash
## INFO: https://docs.docker.com/compose/install/

sudo apt-get install jq

set -euf -o pipefail
 
DOCKER_COMPOSE_VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)
 
# Download and install
sudo curl -"https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -/usr/local/bin/docker-compose
sudo chmod +/usr/local/bin/docker-compose
 
cs

 

4. 결과

    ˙ 우분투(ubuntu) 리눅스 환경에 설치된 docker-compose 버전을 확인한다.

        - $ docker-compose -v

 

반응형
반응형

1. 시험환경

    ˙ docker-compose 

 

2. 목적

    ˙ docker-compose 주요 명령어를 알아보자.

 

3. 적용

    ① 프로젝트 목록 관련

        - 실행중인 프로젝트 목록 확인 : $ docker-compose ls

        - 전체 프로젝트 목록 확인 : $ docker-compose ls -a

 

    ② 프로젝트 실행 및 종료하기

        - 프로젝트 실행(Foreground) : $ docker-compose up

        - 프로젝트 실행(Background) : $ docker-compose up -d

        - 프로젝트 이름 지정 : $ docker-compose  -p [project-name] up -d

        - 프로젝트 종료(컨테이너, 네트워크) : $ docker-compose down

        - 프로젝트 종료(컨테이너, 네트워크, 볼륨) : $ docker-compose down -v

 

    ③ 컨테이너 서비스 Scale Up

        - 서비스명 확장 : $ docker-compose up --scale [service-name]=3

 

    ④ 기타

        - 서비스 로그 : $ docker-compose logs

        - 이벤트 로그 : $ docker-compose events

        - 이미지 목록 : $ docker-compose images

        - 실행중인 컨테이너 목록 : $ docker-compose ps

        - 실행중인 프로세스 목록 : $ docker-compose top

 

반응형
반응형

1. 시험환경

    ˙ 윈도우

    ˙ python, venv, pip

 

2. 목적

    ˙ 프로젝트 별 패키지 버전을 관리 하기 위해 파이썬 가상화 환경에서 개발한다.

    ˙ venv 관련 명령어 및 패키지 관리법에 대하여 알아보자.

 

3. 적용

    ① 파이썬이 설치되어 있어야 한다.

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

 

Window 파이썬(python) 설치하기

1. 시험환경 ˙ 윈도우 ˙ 파이썬 2. 목적 ˙ 윈도우 운영체제에서 파이썬을 설치한다. 3. 적용 ① 파이썬 공식 사이트에 접속하여 "Downloads" 메뉴를 클릭한다. - https://www.python.org/ ② 설치 프로그램이

languagestory.tistory.com

 

    ② 생성 : 가상환경을 생성하면 "가상환경-이름"으로 하위폴더가 생성된다.

        - python -m venv [가상환경-이름]

        - 보통, [가상환경-이름].venv로 지정하는 것이 관례이다.

 

    ③ 활성화 : 커맨드라인 맨 왼쪽에 (가상환경-이름)이 붙는 것을 확인하면 활성화 모드로 진입한다.

        - [가상환경-이름]/Scripts/activate.bat

 

    ④ 활성화 모드에서 "deactivate" 명령어를 입력하면 비활성화 된다.

 

    ⑤ 가상환경 내에서 패키지 설치/삭제

        - 가상환경 활성화 상태에서 "pip install" 명령어로 패키지 설치
        - 가상환경 활성화 상태에서 "pip uninstall" 명령어로 패키지 삭제

        - 가상환경 생성 폴더 내에서 작업한 것에 유의한다.

 

    ⑥ 설치 패키지를 확인하고 다른 환경에서도 동일한 패키지를 일괄 설치할 경우의 명령어를 실행한다.

        - pip freeze
        - pip freeze > requirements.txt
        - pip install -r requirements.txt

가상환경에서 설치한 패키지만 포함

 

     가상환경 및 관련 패키지 삭제

        - 폴더를 삭제한다 :  [가상환경-이름] 폴더

 

반응형
반응형

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가 생성된 것을 확인한다.

 

반응형

+ Recent posts