Network

Network

Minikube로 로컬 환경에서 쿠버네티스 클러스터 구성하기(MacOS, Windows 환경)

쿠버네티스 환경이 대중화되면서 다양한 플랫폼을 기반으로 쿠버네티스를 구동할 수 있게 되었습니다. 하지만 쿠버네티스를 프로덕션 환경에 올리기 전에 기술에 익숙해지거나 버전 테스트를 해야 할 수도 있는데요. 이러한 경우에 비용이 청구되는 관리형(Managed) 쿠버네티스나 IaaS VM 기반 쿠버네티스 클러스터에서 이러한 테스트를 하기에는 부담스러운 경우가 많습니다. 그래서 로컬 환경에서 쿠버네티스 클러스터를 쉽게 구성할 수 있는 Minikube나, k3s같은 로컬 쿠버네티스 도구들이 등장했습니다. 본 포스팅에서는 그 중 Minikube를 사용해 쿠버네티스 클러스터를 구성해보는 방법을 알아보겠습니다. 1. 도커 설치 쿠버네티스는 컨테이너 가상화 기술을 기반으로 동작하기 때문에 컨테이너 엔진, 혹은 버추얼 머..

Network

Public Cloud 환경에서 Istio 서비스 메쉬 사용하기

들어가기 전에 분산된 애플리케이션을 운영하는 MSA(Micro Service Architecture) 환경이 많은 모놀리식을 대체하기 시작한지도 많은 시간이 흘렀습니다. 하지만 Kubernetes와 같은 오케스트레이션 툴이 등장했음에도 불구하고 여전히 마이크로 서비스에서 네트워크 정책을 수립하는 것은 쉽지 않습니다. 이런 문제로 인해 어플리케이션을 개발하는 개발자와 클러스터를 운영하는 운영자 모두 네트워크 레이어의 문제를 해결하기 위해 많은 노력과 시간을 쏟아야 했습니다. 그러자 개발자와 운영자는 모두가 문제를 해결하기 위해 참여하는 대신 어플리케이션 레이어의 비즈니스 로직에만 집중할 수 있는 환경을 원하기 시작했습니다. 이런 환경을 제공하기 위해 나타난 개념이 ”서비스 메쉬(Service mesh)”입..

Network

Rclone을 이용해 편리하게 Storage간 데이터 전송하기

AWS, GCP, Azure.. 등등 많은 클라우드 스토리지가 세상에 나와있다. 다양한 Storage를 이용할 수 있는 시대에 살면서 당연하게 따라오는 걱정은 어떻게 이렇게 다양한 Storage 사이에서 Data를 옮겨야 하지?? 일 것이다. Rclone은 이런 Storage간 Data 전송에 대한 걱정을 덜어준다. RClone은 40개 이상의 Cloud Storage를 지원하는 Open-source Command Line Tool 이며 AWS, GCP 등 다양한 Vendor의 Storage Service 뿐만 아니라 Local에서의 Data Transfer도 지원하는 만능 Migration Tool이다. 본 글에서는 rclone을 어떻게 이용할 수 있는지, 얼마나 편리하게 사용하는지 알아보자. Rclo..

Network

X11 Forwarding을 통해 AWS EC2에서 GUI 사용해보기

AWS 서비스 중 EC2를 사용하다보면 Putty 등의 SSH 터미널 원격 접속을 사용할 일이 많다. 하지만 이러한 방법은 GUI가 지원되지 않아 그래픽을 사용하는 결과물을 바로 볼 수 없다는 단점이 있다. 이번 글에서는 X11 Forwarding을 통해 SSH 접속을 하면서 GUI로 어플리케이션을 실행하는 법을 알아보자 1. Putty와 Xming을 이용한 방법 SSH 접속에 많이 사용되는 Putty를 계속 이용하면서 GUI 프로그램을 사용할 수 있는 방법이다. 여기서 본 글에서 EC2 운영체제는 Ubuntu를 기준으로 시연한다. 우선 Xming이라는 프로그램을 설치해야 한다. https://sourceforge.net/projects/xming/ Xming X Server for Windows Dow..

Network

용어를 확실히- Sharding 이란?

데이터베이스의 샤딩이란 같은 테이블 스키마를 가진 데이터들을 다수의 데이터베이스에 나누어서 저장하는 것을 의미한다. 샤딩은 프로그래밍 상의 어려움과 복잡도가 증가해 가급적 피해야 하지만, 하나의 DB가 많은 데이터를 처리하기 어려우므로 분산 저장해야할 필요가 생긴다. 해쉬 샤딩, 다이나믹 샤딩 등, 어떻게 분산해서 저장할 것인지에 따라 방법이 다양하다. 한 DB로 몰리지 않게 데이터를 저장하는 것이 중요.

Network

용어를 확실히- RTO,RPO

가용성에 대해 말할 때 빠지지 않는 것이 Recovery 정책이다. RTO는 Recovery Time Objective의 준말로, 시스템이 고장났을때 이를 복구하기 위해 걸리는 시간을 의미한다. 이를 표현하는 수치로는 시간,일 등의 시간단위가 사용된다. RPO는 Recovery Point Objective의 준말로, 시스템이 고장나서 손실된 데이터의 양을 의미한다. 이를 표현하는 수치로 데이터의 크기 단위를 사용하지만 시간,일 등의 시간단위도 사용된다.

Network

용어를 확실히 - 가용성(Availability)

High availability VS Fault Tolerance HA(High availability)는 고가용성으로 소프트웨어에 기반한 서버 부하 감소 아키텍쳐이다. FT(Fault tolerance)는 downtime이 zero(0)임을 보장하는 아키텍쳐로, 두 개의 동일한 시스템으로 구성된다. 두 아키텍쳐는 서로 장단점이 있다. HA는 소프트웨어적인 문제로 일어나는 downtime에 효율적인 비용으로 대처할 수 있지만 downtime에 민감한 시스템에는 사용이 어렵다. FT는 정의 그대로 downtime을 허용하지 않지만, 두 개의 시스템을 구축하는 비용이 막대하다는 단점이 있다.

Network

용어를 확실히 - multi-tier 아키텍쳐

멀티티어(multitier) 아키텍처는 n-tier 아키텍처 혹은 멀티레이어드(multilayered)아키텍처라고 부르기도 한다. 애플리케이션을 여러 개의 계층으로 나눠서 개발을 하고 이들을 연결해서 하나의 통합된 서비스를 만드는 아키텍처다. 일반적으로 프리젠테이션, 애플리케이션, 데이터베이스 3개의 계층(tier)을 가진다. 이러한 아키텍처를 3 티어 아키텍처라고 부르며, 가장 널리 사용되는 아키텍처다. 각 계층은 서버/클라이언트아키텍처를 따른다. 결과적으로 서버/클라이언트 모델이 몇 개의 계층을 구성하는 아키텍처다. 멀티티어 아키텍처를 사용하는 이유는 유연하고 재활용 가능한 응용 프로그램 개발환경을 제공하기 때문이다. 응용 프로그램을 몇 개의 계층으로 분리함으로써, 개발자는 전체 응용 프로그램을 개발..

Network

용어를 확실히 - IOPS란?

IOPS(Input/Output Operations Per Second, IOPS)는 HDD, SDD 또는 NVMe등 저장장치의 속도를 나타내는데 사용도는 측정 단위이다. MB/s, MiB/s 또는 GB/s, GiB/s 등과 같이 초당 전송량과 함께 많이 최근 들어 많이 사용되고 있는 단위. 주어진 IOPS 값에서 초당 데이터 전송량을 계산하는 법 초당 데이터 전송량 = IOPS * 블럭크기(단위 데이터 용량) 블럭 크기 등 단위 데이터 용량에서 IOPS 를 계산하는 법 IOPS = 초당 데이터 전송량 / 블럭크기(단위 데이터 용량)

Network

용어를 확실히 - stateful vs stateless

서버 아키텍쳐 설계에서 stateful 과 stateless 는 서버 측에서 클라이언트의 정보를 저장하는가/ 안하는가로 나뉜다. 즉 stateful은 서버에 client와 server의 연속된 동작 상태정보를 저장하는 형태이고 stateless는 client와 server의 연속된 동작 상태정보를 저장하지 않는 형태라고 정의한다. 예를 들어 HTTP 프로토콜은 그 자체로 정보를 저장할 수 없어서 애플리케이션 계층에서 이를 관리해야 하기 때문에 stateless하다고 할 수 있다. stateless한 아키텍쳐의 단점은 상태정보를 매 요청시마다 전달해야 하기 때문에 네트워크 리소스 요구량이 많다는 점이 있다. 이로 인해서 다수의 클라이언트를 관리하기 어렵고, 대량의 리소스로 인한 문제점이 발생할 수 있다.

Seungwoo Lee
'Network' 카테고리의 글 목록