일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 | 31 |
- 자바스크립트
- 웹
- es6
- BFS
- AWS
- CSS
- 솔리디티
- 프론트엔드
- 파이썬
- JavaScript
- 이슈
- 리액트
- TypeScript
- 블록체인
- react
- 이더리움
- k8s
- node.js
- 백엔드
- kubernetes
- 백준
- 쿠버네티스
- docker
- 클라우드
- 가상화
- 타입스크립트
- HTML
- 알고리즘
- 컴퓨터공학
- next.js
- Today
- Total
목록가상화 (6)
즐겁게, 코드
헬름을 통해 얻을 수 있는 장점 중 하나는 개발자가 사용할 이미지 및 포트 번호 등의 값을 하드코딩할 필요 없이 변수화해 사용할 수 있다는 것입니다. 설치 링크 에서 헬름을 설치한 다음, helm create 을 통해 새로운 헬름 차트 를 생성합니다. ✅ TIP - 헬름 차트란? 헬름 차트는 작성한 어플리케이션(디플로이먼트, 서비스 등의 YAML 템플릿 조합)을 쿠버네티스의 패키지 형태로 제작한 결과물이며, 생성한 헬름 차트는 퍼블릭 또는 프라이빗 레포지토리에 업로드해 다른 사람(팀원)들과 공유할 수 있습니다. 이제 헬름으로 변수화된 값의 템플릿을 만든 후 이를 기반으로 파드를 만들어 보겠습니다. 파드 템플릿 예시 (헬름 사용 전) apiVersion: v1 kind: Pod metadata: name:..
한번 500MB의 메모리를 갖고 있는 워커 노드 A가 있다고 가정해 보겠습니다. 그런데 어떤 파드가 실행되어 스케줄러가 이를 배치하려 할 때, 만약 파드가 사용할 메모리가 1GB를 넘어선다면 이 파드는 노드 A에 배치될 수 있을까요? 스케줄러가 파드를 효과적으로 배치하려면 각 파드가 최소 / 최대로 사용하고자 하는 자원이 어느 정도인지를 알고 있어야 할 텐데요, 쿠버네티스는 여러 종류의 자원 중 CPU와 메모리를 관리할 수 있습니다. ✅ 다만 CPU와 메모리 사용량 외에 디스크 I/O 작업(IOPS)이나 네트워크 대역폭 등의 정보는 알지 못합니다. 이번 글에서는 컨테이너에서 사용할 CPU 및 메모리를 관리하는 방법인 리소스 요청 / 제한에 대해 소개해보도록 하겠습니다. 리소스 요청 및 제한 쿠버네티스의 ..
여러분의 멋진 서비스가 컨테이너 위에서 실행 중이라고 가정하겠습니다. 그런데, 만약 프로그램에 오류가 발생하거나 컨테이너가기동중인 환경에 문제가 생겨 컨테이너가 의도치 않게 중단된다면 어떨까요? 만약 이런 일이 발생한다면 관리자가 직접 터미널을 열고 docker run을 다시 입력할 때까지 서비스가 중단되는 걸까요? 쿠버네티스를 사용하면 컨테이너가 불의의 사고로 중단되더라도 관리자가 복구 커맨드를 입력할 때까지 기다릴 필요 없이, 마치 오뚜기처럼 컨테이너를 다시 실행해 장애를 최소화합니다. 쿠버네티스의 고가용성을 책임지는 오늘의 주인공, 디플로이먼트(Deployment)와 레플리카셋(ReplicaSet)을 소개해보도록 하겠습니다. 디플로이먼트 (Deployment) 디플로이먼트는 쿠버네티스가 관리해야 ..
AWS 기반 예제 아키텍처를 보고 있으면 많은 아키텍처에서 VPC 라는 네트워크를 사용하는데요, 과연 VPC란 무엇일까요? 이번 글에서는 AWS의 VPC가 무엇인지와 어떤 설정을 하는지에 대해 간단히 알아보도록 하겠습니다. VPC (Virtual Private Cloud) VPC는 퍼블릭 클라우드(AWS) 위에서 사용자가 구성하는 프라이빗 클라우드 환경으로, 가상의 네트워크 위에서 AWS 서비스를 가동할 수 있게 합니다. VPC를 사용하면 VPN을 통해 VPC를 온프레미스 환경과 통합할 수 있고(하이브리드 클라우드), 개발자가 네트워크 구성 요소들을 완전히 제어할 수 있습니다. 또한 이를 이용해 조직 내부에 고립된 클라우드 인프라 환경을 구축할 수 있어 강력한 보안을 형성할 수 있습니다. AWS에서는 계..
이미지에 파일을 하나 추가했다고 해서 처음부터 수백 메가에 달하는 파일을 다시 다운받는다면 굉장히 비효율적일 것입니다. 하지만, 도커 데몬은 레이어 를 활용해 이미지를 빌드할 때 파일이 추가되거나 변경될 때마다 해당 동작을 캐시합니다. 오늘은 도커파일을 잘 작성해 레이어의 캐싱을 최대화하고, 이를 통해 이미지 빌드 속도를 최적화하는 팁을 소개해보려 합니다. 이미지 생성하기 간단한 node.js 어플리케이션 하나를 이미지로 만들어 보겠습니다. 코드는 다음과 같습니다. const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send(` 간단한 node.js 어플리케이션입니다. `); }) app.li..
여러 개발 도구들 중에서도 쿠버네티스는 어려운 축에 꼽히는데요, 쿠버네티스를 이해하려면 먼저 클러스터를 구성하는 기본 구성 요소들에 대해 알아야 합니다. 이번 글에서는 클러스터를 구성하는 컴포넌트들과 각각의 역할을 간단히 정리해보도록 하겠습니다. 메인 쿠버네티스 컴포넌트 목록 제가 아직 사용해보지 않은 DaemonSet 등 일부 쿠버네티스 컴포넌트는 이 글에서 다루지 않지만, 주로 사용되는 컴포넌트를 정리해 보았습니다. (정리되지 않은 컴포넌트 역시 추후 추가할 수 있도록 해보겠습니다. 🙂) Pod Pod(파드)는 쿠버네티스의 가장 작은 유닛으로, 컨테이너를 감싸 추상화한 결과물을 의미합니다. 주로 1개 파드에서 1개 어플리케이션을 운영하며, 각 파드는 고유한 내부 IP 주소를 부여받아 노드 내에서 파드..