전체 글 23

클라우드_1일차_241001

AWS에서 정의하는 클라우드 컴퓨팅https://aws.amazon.com/ko/what-is-cloud-computing/?nc2=h_ql_le_int_cc : IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼의 비용을 지불하는 것 - 장점 & 단점장점단점서버, 회선, 네트워크 장비 등의 구축 비용이 절감된다.구축을 위한 비용은 발생하지 않지만, 클라우드를 다루는 전문인력 필요장비의 관리가 필요없기 떄문에 인건비 절감규모가 늘어나면 관리에 대한 부담 증가인터넷이 있으면 어디서든 접근할 수 있다. (접근성이 좋다.)자원에 대한 관리가 제대로 이루어지지 않을 경우 과다한 비용이 청구될 수 있다.    Idea를 즉시 구현할 수 있다.       클라우드 4대 배포 모델 (NIST) 1. 퍼블릭 ..

컨테이너 Orchestration_3일차_240926

LoadBalancer 타입의 서비스 - 클라우드 환경에서는 로드밸런서 사용이 간편. 온프레미스 환경에서는 상당히 복잡하다.  현재는 클라우드를 사용하지 못하므로 온프레미스 환경에서 로드밸런서를 사용해본다.    온프레미스 환경에서 LoadBalancer 타입의 서비스를 연동: 클러스터 내부에 로드밸런서 서비스를 받아 주는 구성이 필요한데.... => 이를 MetalLB가 담당한다.  1. MetalLB: 쿠버네티스 클러스터 내에서 로드밸런싱을 제공하기 위한 오픈 소스 프로젝트이다.  클라우드 공급자에서 실행되지 않는 클러스터에서 LoadBalancer 유형의 쿠버네티스 서비스 생성이 가능해진다.  클러스터 내에서 외부에 라우팅 해주는 역할 - https://metallb.universe.tf/   2...

컨테이너 Orchestration_2일차_240925

레플리카셋 (replicaset) = 일정 개수의 파드를 유지하는 컨트롤러: 파드 집합의 실행을 항상 안정적으로 유지하는 것이 목적이다.  보통 명시된 동일 파드 개수에 대한 가용성을 보증하는데 사용한다.    동일한 컨테이너를 여러 개 실행하려고 하는 경우 사용한다. 1. 동일한 컨테이너를 실행하는 파드를 여러개 정의해서 실행 예시) 같은 내용의 컨테이너 2개를 실행하는 yaml 파일apiVersion: v1kind: Podmetadata:  name: my-nginx-pod-Aspec:  containers:  - name: my-nginx-container    image: nginx    ports:    - containerPort: 80      protocol: TCP---apiVersion..

컨테이너 Orchestration_1일차_240924

쿠버네티스 (k8s = kubernetes): 컨테이너 기반의 앱을 개발하고 배포할 수 있도록 설게된 오픈 소스 플랫폼이다.  컨테이너 오케스트레이션 도구의 사실상 표준이다. (de facto standard)     쿠버네티스가 왜 필요하고 무엇을 할 수 있나?https://kubernetes.io/ko/docs/concepts/overview/#why-you-need-kubernetes-and-what-can-it-do - 프로덕션 환경에서는 앱을 실행하는 컨테이너를 관리하고 기동 중지 시간이 없는지 일일이 확인해야 한다.  예를 들면 컨테이너가 문제가 생겨 다운되면 다른 컨테이너를 다시 시작해야 한다.  - 쿠버네티스는 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 제공한다.   이를 통해 ..

컨테이터 애플리케이션 개발_4일차_240923

Docker 데이터 관리  1. Volume ( -v 옵션) - 볼륨에 저장한 데이터는 도커 데몬에서 관리한다.  - 형식  : -v 볼륨이름:마운트경로:옵션   > 볼륨이름 : 이름이 있는 볼륨의 경우 볼륨 이름을, 이름이 없는 볼륨의 경우는 생략한다.                        호스트에서 유일한 값을 가져야 한다.    > 마운트 경로 : 파일이나 디렉터리가 컨테이너에 마운트되는 경로이다.   > 옵션 : ro (읽기 전용)과 같이 추가 명령어 - 사용 예시  1) 볼륨 생성     2) 생성한 볼륨을 사용하는 컨테이너를 실행     3) 동일 볼륨을 사용하는 컨테이너를 추가로 실행     4) 컨테이너 생성 시 -v 옵션에 볼륨 이름을 명시해서 새로운 볼륨을 생성   - 삭제 방법  ..

컨테이너 애플리케이션 개발_3일차_240920

Dockerfile 작성 시 유의사항 2 - 도커 이미지 크기가 커지지 않도록 유의  1. 레이어 최소화의 필요성- Dockerfile의 각 라인은 레이어 형태로 이미지에 저장되므로, 지시문(명령문)을 결합해서 최적화하는 것이 필요하다.   1) 명령어마다 RUN 지시문을 사용하는 경우    2) 여러 명령어를 하나의 RUN 지시문으로 묶어 기술    2. 불필요한 도구 설치 금지- 앱 실행과 관련 없는 도구 (개발도구, 디버깅도구)와 패키지의 종속성을 제거한다.   1) --no-install-recommends 플래스 사용   - apt-get install 시 추천(recommended) 또는 제안(suggested) 패키지가 자동으로 설치되는 것을 방지하는 옵션이다.   2) 이미지 빌드    3..

컨테이너 애플리케이션 개발_2일차_240919

Docker Dockerfile을 이용한 이미지 빌드  - Dockerfile 및 context에서 도커 이미지를 빌드한다. 도커 이미지 빌드를 위한 CLI(Command Line Interface) 명령어는 다음과 같다. docker image build = docker build = docker buildx build                                                          (Buildkit을 이용한 빌드를 수행)    => 모두 같은 명령어지만 적용하는 환경이나 문법의 경우 각자 다른다. 해당 명령어 입력 후 --help 를 통해 익힌다. * DockerFile: 도커 이미지를 빌드하는데 필요한 명령어(컨테이너에 설치해야 하는 패키지, 추가해야 하는 소스..

컨테이너 애플리케이션 개발_1일차_240912

Docker  Docker 란?: 복잡한 리눅스 앱을 컨테이너로 묶어서 실행할 수 있고 개발/테스트/서비스 환경을 하나로 통일하여 효율적으로 관리할 수 있게 하는 도구다.  1. 등장 배경- 기술이 발전하며 PC 성능이 좋아지고, 당연히 서버의 성능도 향샹   => 당연히 서버의 모든 리소스를 사용하지 않게 되어 놀고 있는 부분이 생기게 되었고,         이를 활용하기 위해 가상화 기술이 등장했다. - 이렇게 여분의 서버에 가상 머신을 만들어 활용하였고, 이에 더해 가상 머신에 서버 자체를 넣어 활용하도록 발전했다.  가상화 기술로 만들어진 서버에 서버 프로그램, DB 등을 설치하여 앱 & 웹사이트를 실행하기도 했고,  이 서버를 임대해주는 "클라우드 서비스"도 등장했다.    => 그러나 가상 머..

네트워크 및 시스템 관리_1일차_240910

명령 프롬프트에서 ipconfig를 사용해 모든 어댑터에 대한 IPv4 및 IPv6 주소, 서비스넷 마스크, 기본 게이트웨이를 표시하면, 아래와 같이 표시된다. Windows IP의 구성이더넷 어댑터 이더넷:이더넷 어댑터 = LAN 카드 = NIC (Network Interface Controller/Card)이더넷은 LAN 영역에서 사용하는 통신기술 중 하나로, 사실상 표준(de facto  standard)이다.    미디어 상태 . . . . . . . . : 미디어 연결 끊김    연결별 DNS 접미사. . . . : 이더넷 어댑터 이더넷 2:    미디어 상태 . . . . . . . . : 미디어 연결 끊김    연결별 DNS 접미사. . . . : 무선 LAN 어댑터 로컬 영역 연결* 2: ..

React를 활용한 B/E API 통합_1일차_240813

자바 스크립트란?- 1995년 정적인 HTML을 동적으로 표현하기 위해 개발된 경량화 프로그래밍 언어이다. - 1997년 컴퓨터 시스템의 표준을 관리하는 비영리 표준화 기구인 EMCA 인터네셔널에서 표준화된 자바스크립트 초판(ECMAScript 1)이 완성되었고, 2015년 ECMAScript 6로 개편되면서 범용 프로그래밍 언어로서 갖추어야할 기능이 대거 포함되었다. - 2008년 구글에서 V8 자바스크립트 엔진을 공개하며 자바스크립트는 데스크톱 앱과 유사한 사용자 경험(User experience)을 제공할 수 있는 웹 앱 개발 프로그래밍 언어로 정착했다. - 2009년 브라우저에서만 작동하면 자바스크립트를 브라우저 이외의 환경에서도 동작시킬 수 있는 실행 환경인 Node.js가 등장하면서 F/E는 ..