백엔드 Nest.js 서버를 Pod 로 띄워보기
·
쿠버네티스/cka
Nest.js 서버 생성 및 실행nest cli 설치프로젝트 생성의존성 관련하여 설치 후 실행VS code 에서 해당 폴더 연 뒤 ` npm i` 입력npm run start 로 실행하기localhost:3000 번 포트 접속하기Dockerfile 생성dockerfile 생성 이유 : pod 를 띄우기 위해서는 이미지를 컨테이너로 띄운 뒤 파드를 실행시킬 수 있따.이미지 만들기도커 파일 생성하기FROM nodeWORKDIR /appCOPY . . RUN npm installRUN npm run buildEXPOSE 3000ENTRYPOINT [ "node", "dist/main.js" ].dockerignore 파일 생성하기 (이미지에 포함시키지 않을 디렉토리 정의)node_modulesdockef fi..
이미지가 없다고 에러가 뜨는 이유 (이미지 풀 정책)
·
쿠버네티스/cka
저번 포스팅 마지막에 Spring boot 프로젝트를 이미지로 빌드 후 파드로 띄웠는데,마지막에 ImagePullBackOff 에러가 발생하는 것을 볼 수 있었다. 이번 포스팅은 이미지가 없다고 에러가 뜨는 이유에 대해서 작성하려고 한다.이미지가 없다고 에러가 뜨는 이유.이미지 풀 정책쿠버네티스가 yaml 파일을 읽어들여 podf를 생성할 때,이미지를 어떻게 Pull을 받아올 건지에 대한 정책을 의미한다.Always : 로컬에서 이미지를 가져오지 않고, 무조건 레지스토리(=Dockerhub, ECR 과 같은 원격 이미지 지정소) 에서 가져온다.IfNotPresent : 로컬에서 이미지를 먼저 가져온다. 로컬에 이미지가 없는 경우에만 레지스트리에서 가져온다.Never : 로컬에서만 이미지를 가져온다.매니페..
Windows VS code 환경에서 백엔드(Spring Boot) 서버를 파드(Pod)로 띄워보기
·
쿠버네티스/cka
Spring boot 프로젝트 세팅스프링 부트 생성 도구 사이트 에서 dependences 추가Spring Web, Spring Bool DevTools 추가 후 Generate다운로드 된 파일을 압축 해제 후 VS code 로 openAppController.java 파일을 추가하여 하단의 코드 입력하기@RestControllerpublic class AppController { @GetMapping("/") public String home() { return "Hello, World!"; }}DemoApplication.java 실행하기참고로 이때 본인은 실행이 안되고 계속 이슈가 생겼는데, java 버전이 17로 설치되어 있지 않거나 환경변수가 설정되어있지 않은 경우일 수 있다.loca..
Pod 로 띄운 프로그램에 접속되지 않는 이유와 해결방법.
·
쿠버네티스/cka
이전 포스팅 에서 nginx 를 Pod로 띄워보았는데, chrome 에서 localhost:80 을 연결해도해당 nginx 가 연결되지 않는다. 오늘은 그 이유에 대해서 이야기해보고자 한다.Pod 로 띄운 프로그램에 접속되지 않는 이유도커에서 컨테이너 내부와 컨테이너 외부의 네트워크가 서로 독립적으로 분리되어있다.쿠버네티스에서는 Pod 내부의 네트워크를 컨테이너가 공유하여 같이 사용한다.즉, Pod 내부와 Pod외부의 네트워크가 서로 독립적으로 분리되어있다.즉, Pod로 띄운 Nginx 를 Local에서 호출해도 응답이 없다. Pod에 띄운 프로그램에 접속하기Pod 내부에 들어가서 접근하기.Pod 내부에 들어가기kubectl exec -it {{pod-name}} -- bashNginx 로 요청 보내기c..
Pod 의 의미와 Nginx 를 Pod 로 띄워보기.
·
쿠버네티스/cka
Pod 란?Container 과 Pod의 차이.container 은 도커에서 하나의 프로그램을 실행시키는 단위를 의미한다.Pod는 쿠버네티스에서 하나의 프로그램을 실행시키는 단위를 의미한다.일반적으로 하나의 Pod 가 하나의 container 을 가지지만, 여러개의 container를 가지는 경우도 있다.쿠버네티스가 파드를 띄울 때 컨테이너를 띄우는 방식.Docker Hub, 혹은 로컬 저장소에서 이미지를 다운로드받아서 cotainer 을 띄워서 Pod를 실행시킴.Nginx 를 Pod 로 띄워보기.Pod를 띄우는 방식CLI를 활용하는 방식.Yaml파일을 활용하는 방식Yaml 파일을 활용하여 Pod를 띄워보기.코드 입력하기apiVersion: v1kind: Podmetadata: name: nginxsp..
Docker desktop 을 사용한 쿠버네티스 설치하기
·
쿠버네티스/cka
예전에 linux 환경에서 쿠버네티스를 사용하려다가 실패했었는데,최근 Docker desktop 에서 간편하게 쿠버네티스를 사용해볼 수 있다고 해서 사용해보았다. 쿠버네티스 설치하기Docker Desktop 우측 상단 설정 열기 LNB에서 kubernetis 를 열고 활성화CMD 창에서 kubectl cluster-info 입력하기위와 같이 kubernetis control plane is running at ~ 으로 나오면 성공적으로 설치된 것.kubectl 설치하기kubectl  : 쿠버네티스에 명령어를 입력할 수 있게 해주는 CLI 툴을 의미한다.kubectl 설치하기직접 설치하기https://dl.k8s.io/release/v1.32.0/bin/windows/amd64/kubectl.exe 에서 ..
1. 쿠버네티스 입문 및 소개
·
쿠버네티스/cka
실습 예제https://github.com/237summit/Getting-Start-Kubernetes쿠버네티스 소개 쿠버네티스란?컨테이너를 도커 플랫폼에 올려서 관리 + 운영 + 클러스터 서비스를 지원해주는 것을 의미함container orchestration컨테이너란?nodejs 기반의 app.js 를 실행하기위해Dockerfile 에 nodejs 기반을 생성 후 app.js 복사, node > app.js 순서로 실행 컨테이너 동작을 위한 플랫폼이 필요함 (보통 도커, 로켓 등을 사용)컨테이너 이미지 생성하기컨테이너를 만들어서 저장소에 저장.docker platform 생성linux 시스템에 docker 설치docker deamon start이후 container 빌드 및 실행이 가능한 상태.co..