전체 글 82

Docker 설치 및 WordPress 컨테이너 배포하기

목표 Ubuntu 환경에서 Docker Image를 이용하여 WordPress를 배포한다. 설치 환경 도커 설치 환경은 Ubuntu 18.04 이다. user@ubuntu:~$ cat /etc/issue Ubuntu 18.04.5 LTS \n \l 배포 과정 1. Docker 설치 2. wordpress, mysql image 다운로드 3. docker run을 통한 컨테이너 구성 1. Docker 설치 먼저, 패키지 인덱스 및 설치 패키지 업데이트를 수행한다. user@ubuntu:~$ sudo apt update user@ubuntu:~$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ softwar..

Docker 2021.09.07

AWS CodePipeline을 이용한 깃옵스(GitOps) 구현하기

지금까지 진행했던 실습들을 정리해보면, Kubernetes 환경에서는 모든 설정 정보를 매니페스트 파일(ex .yaml)로 정의해왔다. 이번 포스팅에선 앞선 실습에서 YAML 파일로 생성했던 모든 설정을 코드로 관리하여 CI/CD를 구현하려고 한다. 구현하기에 앞서 CI/CD라는 개념을 정리해보자. 현재 인프라를 관리하고 운영하는 데 있어 가장 많이 접하는 단어는 아마 IaC, CD/CD일 것이다. CI(Continuous Integration)/CD(Continuous Delivery 혹은 Deployment)는 말 그대로 '지속적인 통합/지속적인 배포' 를 의미한다. 그럼 무엇을 통합하고 무엇을 배포한다는 뜻일까? 아래 그림은 CI/CD를 설명할 때 가장 쉽게 볼 수 있는 그림이다. 그림을 살펴보면,..

CICD 2021.09.04

AWS Fargate

AWS Fargate란? 기본 인프라를 관리할 필요 없이 컨테이너를 배포하고 관리할 수 있는 컴퓨팅 엔진 ▶ Serverless형 쿠버네티스 서비스 Fargate로 Pod 동작시키기 먼저 Fargate Profile을 생성해준다. 이 때, 설정된 네임스페이스에서 동작하는 Pod는 모두 Fargate에서 동작한다고 보면 된다. eksctl create fargateprofile --cluster --name --namespace --labels 주의할 점은 Fargate의 프로파일을 생성할 때, Pod가 실행될 VPC의 서브넷을 지정하는데 이 서브넷은 프라이빗 서브넷이어야 한다. 그 이유는 pod는 사설 IP를 할당받기 때문에 인터넷 액세스를 위해선 공인 IP가 필요하고, 이 과정에서 NAT Gateway..

AWS 2021.08.24

Kubernetes 인강 정리

kubectl 명령어를 이용한 Container 쉘 접속하기(한 개 컨테이너의 경우) vagrant@kube-control1:~/tmp$ kubectl exec --stdin --tty hello-pod /bin/bash 멀티 컨테이너의 경우 vagrant@kube-control1:~/tmp$ kubectl exec --stdin --tty pod-1 -c container2 /bin/bash Service를 만들어서 외부에서도 접속이 가능하게 할 수 있다. Pod의 labels: 부분과 selector: 부분이 매칭되어 Service와 Pod를 연결할 수 있다. apiVersion: v1 kind: Service metadata: name: hello-svc spec: selector: app: hel..

Kubernetes 2021.08.20

EKS를 활용한 웹 애플리케이션 배포하기

이번 포스팅은 '클라우드 네이티브를 위한 쿠버네티스 실전 프로젝트'의 교재 내용을 바탕으로 Amazon EKS를 활용하여 쿠버네티스 클러스터 환경을 구축하고, 예제 애플리케이션을 배포하는 과정을 설명한다. VPC 생성하기 먼저 로컬에서 git 레포지토리를 다운로드 받는다. [CloudFormation]에서 /k8s-aws-book/eks-env/01_base_resources_cnf.yaml 파일을 업로드하여 스택을 생성한다. 여기서 주의할 점은 공유 계정으로 실습 시 아래 [ClusterBaseName]이 같으면 VPC 생성 시 오류가 발생하므로 이 부분은 각자 다르게 생성한다. ClusterBaseName이 동일하면 아래와 같이 CREATE_FAILED가 뜬다. 검토까지 변경할 사항은 없으며 그대로 ..

Kubernetes 2021.08.16

EC2와 RDS 서비스를 활용한 Wordpress 구축하기

이번 실습에선 RDS와 EC2 서비스릃 활용하여 Wordpress를 구축해보자. 이 때, EC2는 퍼블릭 서브넷에 구성하고 Database를 프라이빗 서브넷에 구성하여 2-Tier 아키텍처로 구성한다. Overview 1. VPC 구성하기 2. RDS 인스턴스 생성하기 3. EC2 인스턴스 생성하기 Step1. VPC 구성하기 아래와 같이 새로운 VPC를 생성해준다. 서브넷을 생성해준다. 위와 같은 방식으로 총 4개의 서브넷을 생성해준다. 생성된 서브넷 4개를 확인한다. 이제 라우팅 테이블을 생성해주자. 아래와 같이 PublicA, 그리고 PublicC 두 개의 라우팅 테이블을 생성한다. 이제 Public 서브넷에 위치한 인스턴스의 인터넷 접속을 위한 인터넷 게이트웨이를 생성해주자. 아래와 같이 Inte..

AWS 2021.08.14

RDS_hands-on

RDS는 관계형 데이터베이스를 쉽게 생성하고 확장할 수 있는 AWS 서비스이다. MySQL, Oracle, PostgreSQL 등의 상용 DB 뿐 아니라 AWS가 개발한 Aurora DB 또한 구축하여 사용할 수 있다. Overview 1. RDS 인스턴스 생성하기 2. EC2 인스턴스 생성하기 3. RDS 인스턴스에 접속 후 테이블 생성하기 4. RDS 스냅샷 생성하기 Step1. RDS 인스턴스 생성하기 [RDS] 서비스에서 [데이터베이스 생성]을 클릭한다. 여러 DB 엔진 중 이번 실습에선 MySQL을 사용한다. Database에 접속하기 위한 로그인 정보를 설정하는 과정이며, 아래와 같이 마스터 ID와 PWD를 설정한다. 간단한 실습을 위해 t2.micro 유형을 선택한다. 실습을 위한 최소 용량..

AWS 2021.08.14