Helm 설치하기 Helm은 Kubernetes의 패키지 매니저입니다. Kubernetes에서 애플리케이션을 배포할 경우 같은 애플리케이션이어도 환경에 따라 설정이 달라지는 경우가 발생하는데 이에 따라 설정을 매번 변경해줘야하는 불편함이 생깁니다. Helm은 이렇게 배포 환경에 따라 달라지는 설정값을 정의하고 배포할 수 있도록 패키지 매니징을 지원합니다. Helm Helm - The Kubernetes Package Manager. helm.sh 1. Helm 구성 Helm의 기본 구조는 다음과 같습니다. (Helm 3.0 기준으로 확인한 내용입니다) Charts yaml 파일을 묶어서 정의한 package입니다. kubernetes app 빌드를 위한 리소스가 정의되어 있습니다. Repository 생..
분류 전체보기
Docker Desktop for Mac 설치하기 Docker Desktop은 일반적으로 로컬 환경에서 docker를 편리하게 설치하고 실행하기 위해서 사용합니다. Docker 뿐만 아니라 Kubernetes 환경도 간편하게 설정하여 사용할 수 있습니다. 1. Docker Desktop for Mac 다운로드 및 설치 아래 링크에서 Docker Desktop on Mac 설치를 위한 .dmg 파일을 다운로드하여 설치를 진행해줍니다. Docker Desktop for Mac and Windows | Docker Learn why Docker Desktop is the preferred choice for millions of developers building containerized application..
Kubernetes 알아보기 Kubernetes에 대해 알아보고 정리한 내용입니다. 1. Kubernetes Kubernetes(K8S)는 컨테이너 오케스트레이션을 위한 플랫폼입니다. 컨테이너 오케스트레이션은 다수의 서버에 컨테이너를 배포, 운영하면서 관리를 자동화해주는 것을 의미합니다. 서비스 디스커버리 같은 기능을 이용하여 서비스 간의 연결을 구성하거나 서버에 장애가 발생한 경우엔 정상 동작중인 다른 서버에 애플리케이션을 띄워 장애를 방지하는 등의 기능을 제공합니다. 또한 컨테이너를 실행하는 호스트 그룹을 클러스터링하고 효율적으로 관리할 수 있습니다. Production-Grade Container Orchestration Production-Grade Container Orchestration ku..
Docker 알아보기 Docker에 대해 알아보고 정리한 내용입니다. 1. Docker의 등장 DevOps 프로세스의 등장으로 개발과 배포의 주기가 짧아지고 MSA(Micro Service Architecture)가 유행하면서 애플리케이션은 세분화되어 관리해야할 서버 개수가 많아지면서 복잡도가 높아졌습니다. 이러한 상황에 컨테이너 기반의 도커가 등장하였습니다. 도커를 정의하면 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 애플리케이션이나 Runtime 환경 등을 컨테이너로 추상화하여 배포하고 관리해줍니다. 어떠한 프로그램이든 추상화하는 것에 제약이 없고 다양한 환경에 적용이 가능합니다. Empowering App Development for Developers | Docker Learn how Docke..
JavaScript 이벤트 전파와 중단하기 JavaScript의 이벤트 전파와 중단 방법에 대해 알아보겠습니다. 1. Event 전파 브라우저에서 요소에 대한 event가 발생하면 해당 요소에 할당된 handler가 동작하게 되는데, 이 때 handler가 동작하면서 다음과 같이 Bubbling과 Capturing이 발생하게 됩니다. 1.1. Bubbling bubbling은 특정 요소에서 event가 발생했을 때 상위 요소로 event가 전파되는 것을 의미합니다. click 위의 코드를 실행하고 을 클릭하면 다음과 같이 콘솔 로그가 출력됩니다. 브라우저에서 event bubbling이 발생하면 최상위 요소인 document 객체에 도달할 때까지 상위로 이벤트가 전파됩니다. 이벤트가 전파되는 것을 확인하..
Angular ngx-pagination 구현하기 Angular ngx-pagination을 이용하여 페이징을 구현하는 방법에 대해 알아보겠습니다. ngx-pagination은 페이징 처리를 위해 만들어진 Angular 라이브러리입니다. Angular5+ 이상에서 동작하며 보다 자세한 내용과 live demo는 아래 링크를 통해 확인할 수 있습니다. ngx-pagination Pagination for Angular www.npmjs.com angular-e1f9hq - StackBlitz ngx-pagination demo / bug reproduction starter. stackblitz.com 구현 환경은 다음의 버전을 기준으로 구성하였습니다. Node.js v12.13.1 MySQL v5.7.3..
Angular + MySQL + Node.js CRUD Application 구현하기 Angular, MySQL, Node.js를 이용하여 CRUD Application을 구현하는 방법에 대해 알아보겠습니다. 구현 환경은 다음의 버전을 기준으로 구성하였습니다. Node.js v12.13.1 MySQL v5.7.3 Angular v11.2.4 구현에 앞서 다음 포스팅을 참고하여 서버를 먼저 구성해주어야 합니다. Node.js + MySQL CRUD API 구성하기 Node.js + MySQL CRUD API 구성하기 Node.js, Express, Sequelize를 이용하여 MySQL CRUD RESTful API를 구성하는 방법에 대해 알아보겠습니다. Sequelize는 MySQL, Postgres, ..
Node.js + MySQL CRUD API 구현하기 Node.js, Express, Sequelize를 이용하여 MySQL CRUD RESTful API를 구성하는 방법에 대해 알아보겠습니다. Sequelize는 MySQL, Postgres, SQLite, MS-SQL Server 등의 데이터베이스를 지원하는 promise 기반의 Node.js ORM(Object Relational Mapping)입니다. transaction, eager & lazy loading, relation, read replication 등의 다양한 기능을 지원합니다. 구현 환경은 다음의 버전을 기준으로 구성하였습니다. Node.js v12.13.1 MySQL v5.7.3 express v4.17.1 sequelize v6...
Node.js + MongoDB CRUD API 구현하기 Node.js, Express, Mongoose를 이용하여 MongoDB CRUD RESTful API를 구성하는 방법에 대해 알아보겠습니다. Mongoose는 MongoDB를 대상으로 만들어진 promise 기반의 Node.js ODM(Object Data Mapping)이며, 이것은 Java 기반의 Hibernate, iBatis와 같은 ORM(Object Relational Mapping)과 유사한 개념입니다. built-in 쿼리를 통해 간편한 CRUD 구성이 가능하며 validation, type casting 등의 기능을 제공합니다. 또한 Express와 함께 사용하면 MVC 구현이 가능합니다. 구현 환경은 다음의 버전을 기준으로 구성하..