일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프론트엔드
- 가상화
- 이더리움
- 웹
- HTML
- 타입스크립트
- CSS
- 쿠버네티스
- 리액트
- 자바스크립트
- JavaScript
- kubernetes
- react
- TypeScript
- BFS
- 솔리디티
- 이슈
- 블록체인
- docker
- 컴퓨터공학
- k8s
- es6
- 백엔드
- VUE
- AWS
- 클라우드
- 파이썬
- 알고리즘
- 백준
- next.js
- Today
- Total
목록📖 ☁️ 클라우드 (28)
즐겁게, 코드
본 포스트는 Google Cloud Tech의 영상 내용을 정리하면서 작성한 글입니다. 이번 글에서는 네임스페이스를 통해 소스를 분리하는 방법을 소개합니다. 네임스페이스란? 쿠버네티스의 네임스페이스란 한 클러스터 내에서 격리된 개발 환경을 제공하는 방법입니다. 즉 네임스페이스는 "클러스터 안의 클러스터" 라고 생각할 수 있으며, 이를 통해 리소스들을 원하는 그룹으로 묶거나 성능을 최적화하는데 도움을 줄 수 있습니다. 예를 들어 개발용 환경과 배포용 환경을 따로 구축하고 싶다면 클러스터를 둘 생성할 필요 없이, 개발용 네임스페이스와 배포용 네임스페이스를 구성하는 것으로 개발 환경을 분리할 수 있게 됩니다. 네임스페이스 생성 & 사용하기 네임스페이스는 kubectl create namespace 커맨드를 사..
본 포스트는 Google Cloud Tech의 영상 내용을 정리하면서 작성한 글입니다. 이번 글에서는 쿠버네티스의 좋은 습관 중 하나인 작은 이미지를 활용하는 방법을 소개해보려 하는데요, 이미지 크기를 작게 유지하는 것은 가장 기본적이면서도 효과적인 방법 중 하나입니다. 테스트용 go 어플리케이션 package main import "fmt" func main() { fmt.Println("hello world") } 이미지 빌드용 도커파일 예시 FROM golang WORKDIR /app COPY ./* . RUN cd /app && go build CMD go run hello 그런데 콘솔에 "hello world" 를 출력하는 정말 간단한 코드조차 빌드하면 자그마치 1GB에 달하는 이미지가 생성되..
IT 서비스가 커져감에 따라 인프라의 민첩성, 확장성에 대한 수요가 점점 증가하게 되었고, 때맞춰 등장한 AWS나 컨테이너 등의 기술은 그 열쇠가 되었습니다. 이번 글에서는 클라우드 네이티브 기술이 무엇인지, 그리고 이를 도입했을 때 전통적인 인프라에 비해 어떤 이점을 가져갈 수 있는지 나름대로 정리해보려 합니다. 클라우드 네이티브 (인프라)란 "클라우드 네이티브" 라는 말이 꽤나 거창하고 두루뭉실하게 들릴 수도 있는데요, 마이크로소프트 공식 문서를 찾아보면 다음 구절을 찾아볼 수 있습니다. 🔎 이러한(= 클라우드) 기술을 사용하면 복원력, 관리 가능 및 관찰 가능한 느슨하게 결합된 시스템을 사용할 수 있습니다. 강력한 자동화(= 데브옵스)와 결합되어 엔지니어는 최소한의 수고로 자주 예측 가능하게 높은 ..
파드의 임시 IP(Ephemeral IP)로 인한 불편함 쿠버네티스에서 파드와 네트워크를 연결하려면 어떻게 해야 할까요? 파드의 IP주소를 확인한 후 사용할 수도 있지만, 파드는 재실행될 때마다 새로운 임시 IP(ephemeral IP)를 무작위로 부여받는다는 특징이 있습니다. 하지만 서비스를 운영하는 중 파드는 리소스 부족 등의 이유로 인해 제거되었다가 재생성되는 과정을 계속해서 반복하는데요, 파드가 재생성될 때마다 매번 달라지는 임시 IP를 사용하는 것은 굉장히 손이 많이 가는 작업이 될 수 있습니다. 서비스의 역할 이처럼 파드의 임시 IP 대신 정적으로 변화하지 않는 고정된 IP를 제공해주는 것이 바로 서비스 로, 서비스는 파드로 보내지는 요청을 앞단에서 관리할 수 있는 역할을 합니다. 서비스의 유..
TL;DR 예약 인스턴스, 스팟 인스턴스 를 활용하면 온디맨드 인스턴스에 비해 수십 % 요금을 절감할 수 있다. 인스턴스를 장기간(1년 이상) 사용한다면 예약 인스턴스를 사용할 것을 고려해볼 수 있다. 인스턴스를 장기간 사용하지는 않으면서 데이터베이스, 서버 호스팅 목적이 아니라면 스팟 인스턴스 가 대안이 될 수 있다. 고객이 원하는 스펙의 가상 컴퓨터를 임대해주는 EC2는 다른 서비스들에 비해 상당히 비싼 편입니다. 그런데 상황에 따라 최대 수십 %의 요금 할인을 적용받을 수 있다는 방법이 있다는 것을 알고 계신가요? 이번 글에서는 EC2를 훨씬 저렴하게 사용할 수 있는 예약 인스턴스와 스팟 인스턴스를 다뤄 보도록 하겠습니다. 온디맨드 인스턴스 제일 먼저 소개할 유형은 온디맨스 인스턴스입니다. 얼핏 봐..
헬름을 통해 얻을 수 있는 장점 중 하나는 개발자가 사용할 이미지 및 포트 번호 등의 값을 하드코딩할 필요 없이 변수화해 사용할 수 있다는 것입니다. 설치 링크 에서 헬름을 설치한 다음, helm create 을 통해 새로운 헬름 차트 를 생성합니다. ✅ TIP - 헬름 차트란? 헬름 차트는 작성한 어플리케이션(디플로이먼트, 서비스 등의 YAML 템플릿 조합)을 쿠버네티스의 패키지 형태로 제작한 결과물이며, 생성한 헬름 차트는 퍼블릭 또는 프라이빗 레포지토리에 업로드해 다른 사람(팀원)들과 공유할 수 있습니다. 이제 헬름으로 변수화된 값의 템플릿을 만든 후 이를 기반으로 파드를 만들어 보겠습니다. 파드 템플릿 예시 (헬름 사용 전) apiVersion: v1 kind: Pod metadata: name:..
한번 500MB의 메모리를 갖고 있는 워커 노드 A가 있다고 가정해 보겠습니다. 그런데 어떤 파드가 실행되어 스케줄러가 이를 배치하려 할 때, 만약 파드가 사용할 메모리가 1GB를 넘어선다면 이 파드는 노드 A에 배치될 수 있을까요? 스케줄러가 파드를 효과적으로 배치하려면 각 파드가 최소 / 최대로 사용하고자 하는 자원이 어느 정도인지를 알고 있어야 할 텐데요, 쿠버네티스는 여러 종류의 자원 중 CPU와 메모리를 관리할 수 있습니다. ✅ 다만 CPU와 메모리 사용량 외에 디스크 I/O 작업(IOPS)이나 네트워크 대역폭 등의 정보는 알지 못합니다. 이번 글에서는 컨테이너에서 사용할 CPU 및 메모리를 관리하는 방법인 리소스 요청 / 제한에 대해 소개해보도록 하겠습니다. 리소스 요청 및 제한 쿠버네티스의 ..