본문 바로가기

전체 글

(419)
Kubevirt를 활용한 VM 및 컨테이너 통합 관리 프로젝트 1 / 개요 1. 프로젝트 문제 정의 컨테이너와 쿠버네티스를 활용하는 기업들이 늘어나고 있다. 그렇지만 대부분의 엔터프라이즈 환경에서는 VM 클러스터 구성을 많이 사용하고 있고, 가상화 환경에 맞추어진 개발프로세스와 이에 관련된 대부분의 워크로드를 당장 컨테이너 기반으로 전환하는 것은 현실적으로 어려운 일이다. 또한 시스템을 구성하는 모든 서비스를 컨테이너화할 수도 없다. 컨테이너는 보안적으로도 취약한 면이 있다. 컨테이너는 호스트OS의 통제된 영역을 사용하지만, 많은 컨테이너들이 동일한 운영체제 커널을 공유하기 때문이다. 가상머신처럼 철저하게 분리되어 있지 않기 때문에 보안이나 안정성 측면에서 문제가 발생할 수도 있다. 컨테이너 기반의 도커나 쿠버네티스의 경우 결함이 발생하여도 정상적으로 실행 할 수 있는 안전장치..
AWS (SAA-C02) 시험 안내서 주요 서비스 S3 S3 Glacier CloudFront Lambda SQS EBS RDS DynamoDB CloudWatch CloudFormation ElastiCache AWS Elastic Beanstalk 분석: Amazon Athena Amazon ES(Amazon Elasticsearch Service) Amazon EMR AWS Glue Amazon Kinesis Amazon QuickSight AWS 결제 및 비용 관리: AWS Budgets Cost Explorer 애플리케이션 통합: Amazon SNS(Amazon Simple Notification Service) Amazon SQS(Amazon Simple Queue Service) 컴퓨팅: Amazon EC2 AWS Elastic..
Amazon S3 란? # Amazon S3 란? Amazon Simple Storage Service(S가 3개라서 S3), AWS에서 제공하는 객체 스토리지 서비스데이터를 저장하고 검색하고 삭제할 수 있다. 한마디로 구글 드라이브같은 저장소 이다. 물리적인 저장공간에 데이터를 업로드해서 저장해놓으면 물리적 저장공간이 망가졌을때 데이터가 손상된다. S3는 물리적인 저장소의 한계를 논리적인 방식으로 극복하였다. S3에서는 자동적으로 복제본을 생성해서 손상이 되더라도 복제본이 남아있다. # Amazon S3 관련 용어 버킷 (Buckets) → 저장된 객체를 담는 바구니(컨테이너) , 버킷주소 = https://버킷이름.리전이름.amazonaws.com/ 리전을 지정하여 버킷을 생성해야 하고 한번 설정된 버킷의 이름은 다른 계정..
Amazon VPC 란? # 먼저, VPC를 알아보기에 앞서 VPN이란? → 가상사설망 '가상사설망'이란 같은 네트워크 안에 있지만 논리적으로 분리 시켜 다른 네트워크인것처럼 동작하는것 예를들어 회사에서 같은 네트워크를 사용하는데 몇몇 부서가 내용을 보안상의 이유로 다른 부서에게 드러내지 않고 통신하고 싶을 때 사용한다. # Amazon VPC 의 핵심 개념 Amazon Virtual Private Cloud ( Amazon VPC ) → 사용자의 AWS 계정 전용 가상 네트워크 AWS 계정에 가상 네트워크를 만든다. VPC를 여러개 만들어 사용하여 네트워크를 분리시킨다. 서브넷 → VPC의 IP 주소범위 VPC를 나누어 네트워크망을 만든다. VPC안에 서브넷A 서브넷B를 만들어 네트워크 대역대를 나누어 사용할수있다 라우팅 테이..
쿠버네티스 Kubernetes Pod # Pod의 특징 파드안에는 하나의 독립적인 서비스를 구동할 수 있는 컨테이너들이 있다. 그 컨테이너들은 서비스가 연결될 수 있도록 포트를 가지고 있는데 한 컨테이너가 포트를 하나 이상 가질 수 있지만 한 파드내에서 컨테이너들끼리 포트가 중복될 수 없다. 이 두 컨테이너는 한 호스트로 묶여있다. Container1 에서 Container2로 접근할 때 localhost:8080으로 접근 가능하다. 파드가 생성될 때 고유의 IP 주소가 할당이 되는데, 쿠버네티스 클러스터내에서만 이 IP를 통해 파드에 접근할 수 있고, 외부에서는 이 IP로 접근할 수 없다. Pod에 문제가 생기면 System이 감지를 해서 파드를 삭제시키고 재생성하게 되고 IP는 변경이 된다. 더보기 apiVersion: v1 kind: ..
쿠버네티스 Kubernetes 개요 쿠버네티스는 서버 한 대는 Master로 사용하고 다른 서버들은 Node로 사용하여 Master에 여러 노드들을 연결한다. Master Node1 Node2 Node3 → 이것들이 묶여 하나의 클러스터(Cluster) 가 된다. # Master 쿠버네티스의 전반적인 기능들을 컨트롤하는 역할 # Node 자원을 제공하는 역할 만약 클러스터의 자원을 늘리고 싶다면 ? → 노드를 추가 하면 된다. # Namespace 클러스터안의 Namespace가 쿠버네티스 오브젝트들을 독립 된 공간으로 분리시켜준다. Namespace 안에는 쿠버네티스 최소 배포 단위인 Pod 들이 있고, Pod 들에게 외부로부터 연결이 가능하도록 IP를 할당해주는 서비스가 있다. (서로다른 Namespace에 있는 파드들에게는 연결할 수..
리눅스 → 도커 → 쿠버네티스 실습 시나리오 도커 환경과 쿠버네티스 환경에서 실제 앱을 구동시키는 실습 리눅스 → 도커 → 쿠버네티스 실습 시나리오 # 리눅스 1. 최초의 리눅스 서버에서 Hello world 라는 node.js 앱을 만들어 띄워 보기 → 리눅스에는 node.js를 실행할 수 있는 패키지가 깔려있어 앱이 구동이 된다. 2. 도커가 깔려있는 다른 서버에서 앞에서 만든 Hello world 앱을 가져올것 → 이 서버에는 node.js가 깔려있지 않기 때문에 실행 되지 않는다. # 도커를 이용해 컨테이너를 만든다. 1. 여러가지 컨테이너 이미지들을 공개적으로 올릴 수 있는 도커허브에서 node.js 이미지를 실행할 수 있는 컨테이너 이미지를 가져온다. 2. 복사해온 Hello world 앱을 하나의 컨테이너로 만든다. 더보기 Docker..
GitLab 깃랩 # GitLab 이란? 깃랩은 어떤 툴보다 광범위합니다. 한두 개의 툴을 대체하는 것이 아니라 15개의 데브옵스 라이프사이클 툴을 모두 대체합니다. 깃랩(GitLab)은 깃랩 사(GitLab Inc.)가 개발한 깃 저장소 및 CI/CD, 이슈 추적, 보안성 테스트 등의 기능을 갖춘 웹 기반의 데브옵스 플랫폼으로써, 오픈 소스 라이선스 및 사유 소프트웨어 라이선스를 사용한다. 2019년 현재, 깃 저장소와 이슈 추적 기능을 갖춘 유일한 단일 어플리케이션의 (Single Application) 데브옵스 솔루션이다. 시중에 유통되고 있는 많은 데브옵스 솔루션들은 자신들의 특화된 영역 이외는 API를 이용한 연동 만을 제공하지만 깃랩은 단일 어플리케이션으로써 데브옵스의 전 영역의 기능들을 모두 제공하고 있어 소..