일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이슈
- 리액트
- docker
- 가상화
- react
- 쿠버네티스
- HTML
- TypeScript
- BFS
- 백준
- AWS
- 클라우드
- 컴퓨터공학
- JavaScript
- 솔리디티
- kubernetes
- 이더리움
- node.js
- 웹
- 타입스크립트
- es6
- 알고리즘
- 블록체인
- 프론트엔드
- CSS
- k8s
- next.js
- 자바스크립트
- 파이썬
- 백엔드
- Today
- Total
목록클라우드 (10)
즐겁게, 코드
헬름을 통해 얻을 수 있는 장점 중 하나는 개발자가 사용할 이미지 및 포트 번호 등의 값을 하드코딩할 필요 없이 변수화해 사용할 수 있다는 것입니다. 설치 링크 에서 헬름을 설치한 다음, helm create 을 통해 새로운 헬름 차트 를 생성합니다. ✅ TIP - 헬름 차트란? 헬름 차트는 작성한 어플리케이션(디플로이먼트, 서비스 등의 YAML 템플릿 조합)을 쿠버네티스의 패키지 형태로 제작한 결과물이며, 생성한 헬름 차트는 퍼블릭 또는 프라이빗 레포지토리에 업로드해 다른 사람(팀원)들과 공유할 수 있습니다. 이제 헬름으로 변수화된 값의 템플릿을 만든 후 이를 기반으로 파드를 만들어 보겠습니다. 파드 템플릿 예시 (헬름 사용 전) apiVersion: v1 kind: Pod metadata: name:..
한번 500MB의 메모리를 갖고 있는 워커 노드 A가 있다고 가정해 보겠습니다. 그런데 어떤 파드가 실행되어 스케줄러가 이를 배치하려 할 때, 만약 파드가 사용할 메모리가 1GB를 넘어선다면 이 파드는 노드 A에 배치될 수 있을까요? 스케줄러가 파드를 효과적으로 배치하려면 각 파드가 최소 / 최대로 사용하고자 하는 자원이 어느 정도인지를 알고 있어야 할 텐데요, 쿠버네티스는 여러 종류의 자원 중 CPU와 메모리를 관리할 수 있습니다. ✅ 다만 CPU와 메모리 사용량 외에 디스크 I/O 작업(IOPS)이나 네트워크 대역폭 등의 정보는 알지 못합니다. 이번 글에서는 컨테이너에서 사용할 CPU 및 메모리를 관리하는 방법인 리소스 요청 / 제한에 대해 소개해보도록 하겠습니다. 리소스 요청 및 제한 쿠버네티스의 ..
LINE의 2022년 신년 대응: 리모트 환경에서 트래픽 폭증에 대비하기 - LINE ENGINEERING 안녕하세요. 저는 LINE Plus 서비스 엔지니어링 팀의 권용찬이라고 합니다. 올해로 LINE에 입사한 지 4년 차입니다. 모르는 것도 없지만 다 알지도 못하는 애매한 연차라고 할 수 있겠습니다. 우리는 engineering.linecorp.com 카카오, 라인 등의 대규모 서비스 운영기를 읽어보면 연말에 몰리는 신년 인사 트래픽을 대비해 엄청난 준비를 하는 것을 알 수 있습니다. AWS에서는 이처럼 특정 상황에서 트래픽이 너무 몰리는 것을 대비해 Auto Scaling Group(ASG)를 통해 인스턴스를 유연하게 구성할 수 있는데요, 예를 들어 연말에는 신년 인사 트래픽이 몰리니 서버 인스턴스..
여러분의 멋진 서비스가 컨테이너 위에서 실행 중이라고 가정하겠습니다. 그런데, 만약 프로그램에 오류가 발생하거나 컨테이너가기동중인 환경에 문제가 생겨 컨테이너가 의도치 않게 중단된다면 어떨까요? 만약 이런 일이 발생한다면 관리자가 직접 터미널을 열고 docker run을 다시 입력할 때까지 서비스가 중단되는 걸까요? 쿠버네티스를 사용하면 컨테이너가 불의의 사고로 중단되더라도 관리자가 복구 커맨드를 입력할 때까지 기다릴 필요 없이, 마치 오뚜기처럼 컨테이너를 다시 실행해 장애를 최소화합니다. 쿠버네티스의 고가용성을 책임지는 오늘의 주인공, 디플로이먼트(Deployment)와 레플리카셋(ReplicaSet)을 소개해보도록 하겠습니다. 디플로이먼트 (Deployment) 디플로이먼트는 쿠버네티스가 관리해야 ..
AWS 기반 예제 아키텍처를 보고 있으면 많은 아키텍처에서 VPC 라는 네트워크를 사용하는데요, 과연 VPC란 무엇일까요? 이번 글에서는 AWS의 VPC가 무엇인지와 어떤 설정을 하는지에 대해 간단히 알아보도록 하겠습니다. VPC (Virtual Private Cloud) VPC는 퍼블릭 클라우드(AWS) 위에서 사용자가 구성하는 프라이빗 클라우드 환경으로, 가상의 네트워크 위에서 AWS 서비스를 가동할 수 있게 합니다. VPC를 사용하면 VPN을 통해 VPC를 온프레미스 환경과 통합할 수 있고(하이브리드 클라우드), 개발자가 네트워크 구성 요소들을 완전히 제어할 수 있습니다. 또한 이를 이용해 조직 내부에 고립된 클라우드 인프라 환경을 구축할 수 있어 강력한 보안을 형성할 수 있습니다. AWS에서는 계..
여러 개발 도구들 중에서도 쿠버네티스는 어려운 축에 꼽히는데요, 쿠버네티스를 이해하려면 먼저 클러스터를 구성하는 기본 구성 요소들에 대해 알아야 합니다. 이번 글에서는 클러스터를 구성하는 컴포넌트들과 각각의 역할을 간단히 정리해보도록 하겠습니다. 메인 쿠버네티스 컴포넌트 목록 제가 아직 사용해보지 않은 DaemonSet 등 일부 쿠버네티스 컴포넌트는 이 글에서 다루지 않지만, 주로 사용되는 컴포넌트를 정리해 보았습니다. (정리되지 않은 컴포넌트 역시 추후 추가할 수 있도록 해보겠습니다. 🙂) Pod Pod(파드)는 쿠버네티스의 가장 작은 유닛으로, 컨테이너를 감싸 추상화한 결과물을 의미합니다. 주로 1개 파드에서 1개 어플리케이션을 운영하며, 각 파드는 고유한 내부 IP 주소를 부여받아 노드 내에서 파드..
🚨 주의! 본 포스팅은 리액트 웹 어플리케이션을 기반으로 합니다. 지난 글에 이어 유저 페이지에서 프로필 사진을 지정할 수 있도록 하고, 이미지를 업로드하면 곧장 S3에 올라갈 수 있도록 합니다. 이를 구현하는 과정을 크게 [input 태그 커스텀] - [AWS SDK 연동] - [대체 이미지 설정] 단계로 나눠 설명드리겠습니다. [1 / 3] - input 태그 커스텀 먼저 클라이언트의 파일 업로드를 위해 input[type=file] 태그를 활용합니다. 그런데, 이걸 스타일하는게 아주 악랄합니다. input[type=file]는 브라우저가 기본적으로 “파일 선택 / 선택된 파일 없음” 이라는 문구를 출력하는데요, 이게 속성을 설정한다고 해서 보이지 않는게 아니라 position: absolute 등 ..