목록분류 전체보기 (768)
우노
예제 코드) Request 로그 출력 //Express 기본 모듈 불러오기. var express = require('express'); var http = require('http'); //Express 객체 생성 var app = express(); //기본포트를 app 객체에 속성으로 설정 app.set('port', process.env.PORT || 3000); app.use(function(req, res, next){ console.log('요청 처리'); // 전체 request 로그 출력 console.log(JSON.stringify(req.headers)); // request 로그 중, customheader 헤더값을 뽑아 b..
Local에서 Github Branch 삭제 git push origin --delete 해당 명령어를 실행하는 branch 위치는 상관 없으며, Github 콘솔에서 반영 결과를 바로 확인할 수 있습니다. Github Branch와 Local의 Remote Branch 상태 동기화 Github Branch가 삭제되어도 Local의 Remote Branch에는 반영되지 않으므로, 아래 명령어로 동기화할 수 있습니다. git fetch --all --prune 반영 결과 확인 git branch -a Local Branch 삭제 git checkout # 지우려는 local branch의 상위 branch로 이동 git branch -d # local branch 삭제 참고 https://remagine...
예제 코드) proxy_pass 시 custom header 추가 server { listen 3002; root /opt/nginx/html; resolver 168.126.63.1 valid=1m ipv6=off; # Disabling cache so the browser won't cache the website expires 0; add_header Cache-Control private; location / { # 변수 생성(헤더 값) set $customheader 'hello'; proxy_pass http://localhost:3000/; # 헤더 이름, 헤더 값 추가 proxy_set_header customheader $customheader; } error_pag..
예제 코드) Nginx 변수 선언 및 호출 server { listen 3002; root /opt/nginx/html; resolver 168.126.63.1 valid=1m ipv6=off; # 변수 선언 set $test 'hello'; location / { proxy_pass http://localhost:3000/; # 변수 호출 proxy_set_header customheader $test; } } 참고 https://cheat.readthedocs.io/en/latest/nginx.html#variables-in-configuration-files
Service란? Pod는 IP가 랜덤하게 지정 되고, 재시작 될 때마다 변경되기 때문에, 고정된 엔드포인트로 호출하는 것이 어렵습니다. 이때, Service를 사용해 고정된 IP로 Pod에 접근하도록 설정할 수 있습니다. 뿐만 아니라, Service를 통해 트래픽이 여러 Pod들에게 로드밸런싱되도록 설정할 수 있습니다. Service Type 서비스 유형은 크게 3가지로 구분됩니다. ClusterIP NodePort LoadBalancer ExternalName (해당 유형은 생략하겠습니다.) ClusterIP 디폴트 설정입니다. ClusterIP 유형은, Service에 클러스터 내부 가상 IP 주소인 ‘ClusterIP’를 할당해, 클러스터 내부에서만 해당 Service에 접근할 수 있도록하는 설정..
들어가기 앞서, CIDR은 네트워크를 설계하면서 가장 많이 접하게 되는 개념입니다. CIDR의 full name은 Classless Inter-Domain Routing으로, 클래스 없는 도메인간 라우팅 기법이라는 뜻입니다. 클래스가 없다는 뜻은, 네트워크 구분을 Class로 하지 않는다는 것입니다. Class는 사이더가 나오기 전 사용했던 네트워크 구분 체계입니다. 사이더가 나오면서 Class 체계보다 더 유연하게 IP 주소를 여러 네트워크 영역으로 나눌 수 있게 되었습니다. 해당 포스트에선, CIDR 계산 방법에 대해서 다뤄보겠습니다. IP 표현 방식 CIDR을 이해하기 전에, IP 표현 방식을 알아야합니다. IP는 옥텟이라는 단위로 이루어져 있습니다. 하나의 옥텟은 8비트로 이루어져 있으며, 일반적..
들어가기 앞서, Python 가상 환경인 venv를 사용하는 이유? 일반적으로 프로젝트 간 패키지 충돌을 방지하기 위해 사용합니다. 자세한 설명은 생략하겠습니다 ㅎㅎ.. venv 사용 방법 가상환경 생성 # python -m venv 가상환경이름 python -m venv .venv 가상환경 활성화 # source 가상환경이름/bin/activate source .venv/bin/activate 가상환경 내부에 필요한 패키지를 설치한 뒤, 해당 환경에서 실험 진행 pip install 패키지이름 가상환경 내부에 설치된 패키지들을 보고 싶다면? pip list 가상환경 비활성화 deactivate 가상환경 삭제 그냥 가상환경 폴더 삭제하시면 됩니다. 참고 https://www.daleseo.com/pyth..
들어가기 앞서,쿠버네티스 클러스터는 노드들의 집합이며, 노드는 두가지 종류로 이루어져있습니다.Master Node - Control Plane(컨트롤 플레인)워커 노드 및 클러스터 내 파드들을 관리하고 제어합니다.Worker Node - Data Plane(데이터 플레인)실제로 애플리케이션을 실행하는 파드들을 호스팅합니다.Control Plane(컨트롤 플레인)Control Plane은 실제 애플리케이션의 실행과는 무관하며, 클러스터의 상태를 관리하고 조정하는 데 초점을 맞춥니다.Control Plane의 구성 요소는 클러스터 전반의 안정성과 일관성을 유지하는 데 필수적입니다.구성 요소API ServerKubernetes의 프론트엔드 역할을 하며, RESTful API 및 kubectl 명령어 등을 통해..
들어가기 앞서, 해당 포스트에선, HTTP(S) Google Cloud Load Balancer(GCLB)를 Terraform을 사용해 생성하는 방법에 대해서 다뤄보겠습니다. GCLB 주요 구성 요소 프론트 엔드 : 클라이언트 요청을 받을 IP 주소, 포트, 프로토콜을 지정 Global Address 클라이언트 요청을 받을 IP 주소 지정 Global Forwarding Rule 클라이언트 요청을 Target Proxy에 전달 Target Proxy 클라이언트 요청을 Url Map으로 전달 호스트 및 경로 규칙 - 부하 분산기 Url Map 클라이언트 요청 Url에 따라 특정 Backend Service로 트래픽 전달 백엔드 Backend Service Backend Service로 등록된 Backend..
들어가기 앞서, 해당 포스트에서는, docker build 시 특정 경로에 있는 Dockerfile을 빌드하는 방법에 대해서 다뤄보겠습니다. 특정 경로의 Dockerfile 빌드 방법 docker build -t -f . # docker build -t mlflow -f /mlflow/Dockerfile . 주의 사항 Dockerfile에서 상대 경로를 사용해 COPY를 사용한다면, 기본 PATH는 docker build 명령어를 실행한 PATH가 됩니다. 참고 https://docs.docker.com/engine/reference/commandline/build/