본문 바로가기

IT Note/Cloud

(41)
GlusterFS basic 원문 : 호롤리한하루/GlusterFS basic Overview GlusterFS의 컨셉에 대해 설명하고, 간단한 데모를 보여드리겠습니다. What is GlusterFS? 클라우드 환경에서 분산되어 있는 서버의 디스크를 묶어 하나의 분산 파일 시스템으로 만든다면, 클라우드 구축과 운영에 있어 매우 도움이 될 것입니다. GlusterFS는 Software Defined Storage로, Scale-Out한 NAS(Network Attached Storage)파일 시스템입니다. 다양한 스토리지 서버를 네트워크(Ethernet, Infiniteband RDMA)를 통해 하나의 디스크 풀로 묶어 소프트웨어적으로 복제본을 관리하고 자가 복구 및 스냅샷을 관리할 수 있습니다. 이를 통해 클라우드 기반으로 생성된..
이기종 쿠버네티스 클러스터 구성 및 Pod Scheduling 원문 : 호롤리한하루/이기종 쿠버네티스 클러스터 구성 및 Pod Scheduling Overview 쿠버네티스 클러스터를 필요에 따라 x86과 Power등 서로다른 인프라가 혼합된 멀티클라우드로 구성해야 될 때도 있습니다. 본 포스팅에서는 이런 구성이 가능한지 검증하고, 또 구성 과정이 x86 기반 인프라와 비교하여 무엇이 달라지는지 살펴보고자 합니다. 이런 목적을 가지고 이기종간의 쿠버네티스 클러스터 구성과, pod scheduling을 통해 특정 노드에 pod을 배포하는 방법에 대해서 다루겠습니다. Prerequisites 해당 포스팅의 클러스터 환경은 다음과 같습니다. Master os: CentOS v7.7 arch: x86_64 Worker1 os: CentOS v7.7 arch: x86_64 ..
Linux 서버 통째로 Dockerizing하기 원문 : 호롤리한하루/Linux 서버 통째로 Dockerizing하기 Overview 이번 포스팅에서는 linux서버를 통째로 dockerizing하는 방법에 대해서 기술하겠습니다. 해당 문서를 참고했습니다. 링크 : Dockerizing a whole physical Linux server Prerequisites 준비물은 다음과 같습니다. (Docker Hub에 이미지가 있는) Linux OS 해당 포스팅에서는 다음 환경을 사용합니다. os : Ubuntu 18.04.2 LTS (Bionic Beaver) arch : ppc64le (Power9) system architecture가 달라도 과정은 동일합니다. 실습 1. Test application 구동(NGINX) 먼저 dockerizing 할 ..
k8s + GitLab으로 CI/CD환경 구축해보기 원문 : 호롤리한하루/k8s + GitLab으로 CI/CD환경 구축해보기 Overview 이번 포스팅에서는 k8s와 GitLab으로 CI/CD환경을 구축해보겠습니다. CI/CD? CI : Continuous Intergration:지속적인 통합 CD : Continuous Delivery:지속적인 서비스 제공 or Deployment:지속적인 배포 CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법이며, 각 개발팀이 소스코드를 통합할 때 개발/운영팀에서 발생하는 Integration hell을 해결하기 위해 나온 솔루션입니다. 이를 성공적으로 구축할 경우, 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드&테스트되어 공유 repository에..
Cloud Loadbalancer가 없을 때 Domain Forwarding 하는 방법 : Nginx 원문 : 호롤리한하루/Cloud Loadbalancer가 없을 때 Domain Forwarding 하는 방법 : Nginx Overview pod의 서비스를 외부에 노출시키기 위해서는 Service의 type을 NodePort로 변경 Ingress를 사용(물론 NodePort로) Cloud의 Loadbalancer사용 보통 이 세가지 방법을 사용합니다. 이번 포스팅에서는 제가 일주일간의 삽질로 알아낸 가장 심플한 도메인포워딩 방법을 소개해드리도록 하겠습니다. 문서를 읽기 전에 보면 좋을 글들 : -호롤리한하루/Service Mesh Architecture & Istio를 알아보자 -호롤리한하루/Knative란? -호롤리한하루/Knative를 다뤄보자! (Serving, Eventing 실습) Backgr..
Knative를 다뤄보자! (Serving, Eventing 실습) 원문 : 호롤리한하루/Knative를 다뤄보자! (Serving, Eventing 실습) Overview Knative의 Serving기능과 Eventing기능을 실습을 통해 더 자세히 알아보겠습니다. 본 포스트는 Knative v0.11을 기준으로 제작되었습니다. 참고 : 호롤리한하루/Knative란? (basic) Prerequisites 먼저 쿠버네티스 클러스터를 생성해주세요. Kubernetes v1.14 이상이어야 합니다. 참고링크 : 호롤리한하루/Install Kubernetes on CentOS/RHEL 본 실습에서 사용한 spec : OS : CentOS v7.6 Arch : x86 Kubernetes : v1.16.2 Master : 4cpu, ram16G (1개) Node : 4cpu,..
Knative란? (basic) 원문 ; 호롤리한하루/Knative란? (basic) 1. Overview 오픈소스 서버리스 솔루션인 Knative에 대해서 알아보겠습니다. K-native라고 읽습니다. 1. Serverless? (FaaS) Knative가 무엇인지 알아보기 전에, Serverless라는 단어를 짚고 넘어갈 필요가 있습니다. Serverless Architecture란 단어그대로 서버가 필요없는 구조를 뜻합니다. 하지만 실제로 서버가 존재하지 않는다는 것은 아니고, 개발자나 관리자가 서버인프라에 대해 신경쓰지 않아도 된다는 뜻입니다. 이러한 구조 하에서는 요청이 있을때만 필요한 코드를 실행하고, 요청이 많을 경우에는 그에 비례하는 자원을 할당하여 동시에 처리하는 방법으로 사용률과 확장성을 극대화할 수 있습니다. 참고 ..
Service Mesh Architecture & Istio를 알아보자 원문 ; 호롤리한하루/Service Mesh Architecture & Istio를 알아보자 1. Overview 이전 포스팅에서 MicroService Architecture의 장단점에 대해서 알아봤습니다. 기존 Monolithic Architecture의 단점을 극복하고 Cloud환경에서 시스템 운영을 최적화 시키기 위해 많이 사용되고 있습니다. 하지만 여전히 몇가지 단점이 존재하는데요. 이번 포스팅에서는 단점을 극복하기 위한 Architecture중 Service Mesh Architecture에 대해서 알아보겠습니다. 2. Service Mesh Architecture? MicroService Architecture의 단점 기존 Monolithic Architecture의 단점을 극복하고 작은 서..
envoy proxy란? (basic) 원본 : 호롤리한 하루/envoy proxy란? (basic) Overview MSA시장이 커지면서 서비스들은 네트워크를 통해 서로 통신해야했고, 이러한 서비스에서 사용하는 핵심 네트워크 프로토콜은 HTTP, HTTP/2, gRPC, Kafka, MongoDB등의 L7프로토콜입니다. L3,L4기반의 프록시들로는 다양한 요건들을 처리하기 어려워졌고, 그에 따라 L7기능을 갖춘 프록시의 필요성이 부각되기 시작했습니다. 이번 포스팅에서는 추후에 기술할 ServiceMesh Architecture로 대표되는 Istio의 메인 프록시인 Envoy Proxy에 대해서 기술하겠습니다. 참고 링크 : Envoy doc 1. What is Envoy Lift사에서 제작한 프로젝트로, Cloud Native Computi..
Multi-Container Design Patterns 정리 원문 : 호롤리한하루/Multi-Container Design Patterns 정리 1. Overview 지난 몇년간 컨테이너기술은 코드를 패키징하고 배포하는데 대중적인 기술이 되었습니다. 이런 특징 외에도 컨테이너를 통해 분산 응용 프로그램을 구축하는 방법에 대해서 주목해볼 필요가 있습니다. 이번 글에서는 MicroService Architecture에서 컨테이너들을 다루는 디자인패턴 3개를 소개하겠습니다. 참고 : MicroService Architecture란? 참고문헌 : Kubernetes/The Distributed System ToolKit: Patterns for Composite Containers Sidecar Pattern 먼저 대전제로 생각하고 있어야 하는 것은 다음과 같습니다. "..
MicroService Architecture란? 원문 : 호롤리한 하루/MicroService Architecture란? 1. Overview 최근 클라우드, 컨테이너 시장이 급격히 성장하면서 마이크로서비스라는 단어가 많이 들리고 있습니다. 이번 포스팅에서는 마이크로서비스가 무엇인지에 대해서 알아보겠습니다. 2. MicroService Architecture? 마이크로서비스를 공부해보기전에 기존의 서비스 구조가 어떠했는지를 살펴보겠습니다. Monolithic Architecture MicroService Architecture가 각광을 받기 시작하면서 기존의 아키텍처를 지칭하는 의미로 생겨난 단어입니다. 모든 모듈은 하나의 서비스 내부에 종속되어있으며 서비스 자체에 집중할 수 있는 구조로 되어있습니다. 다시말해 각기 다른 역할을 하는 모듈들이 모여서 ..
Helm 3 설치 & 기본 사용방법 원문 : 호롤리한 하루/Helm 3 설치 & 기본 사용방법 1. Overview 이번 문서에서는 Helm의 사용법에 대해서 알아보겠습니다. 2. Prerequisites 쿠버네티스 클러스터가 깔려있어야 합니다. 호롤리한 하루/Install Kubernetes on CentOS/RHEL 참고. helm을 설치할 위치에서 kubectl 명령어를 사용할 수 있어야 합니다. 3. Helm이란? Helm은 쿠버네티스의 package managing tool입니다. 크게 세가지 컨셉을 가지고 있는데 : Chart : Helm package입니다. app을 실행시키기위한 모든 리소스가 정의되어있습니다. Homebrew formula, Apt dpkg, Yum RPM파일과 비슷하다고 생각하시면 됩니다. Reposito..