프론트엔드(HTML, CSS, Nginx) 서버를 Pod로 띄워보기
·
쿠버네티스/cka
프론트엔드 서버를 Pod로 띄워보기html 이 있는 파일 경로에 Dockerfile 생성FROM nginxCOPY ./ /usr/share/nginx/html이미지 빌드하기my-web-server 로 빌드하기빌드 여부 확인하기매니페스트 파일 생성 후 pod 생성하기매니페스트 파일 생성apiVersion: v1kind: Podmetadata: name: web-server-podspec: containers: - name : seb-server-container image : my-web-server:latest imagePullPolicy : IfNotPresent ports: - containerPort : 80Pod 생성하기포트포워딩 후 접속하기Pod 삭제하기
백엔드 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 에서 ..
2-2. 쿠버네티스 설치 / PC에 직접 설치하기.
·
쿠버네티스
쿠버네티스 클러스터를 직접 구성하는 도구 kubeadm쿠버네티스에서 공식 제공하는 클러스터 생성/관리 도구kubespray쿠버네티스 클러스터를 배포하는 오픈소스 프로젝트멀티마스터 구현에 적합하도록 구성되어 있음.다양한 형식으로 쿠버네티스 클러스터 구성 가능온프레미스 상용 서비스 클러스터 운영시 유용함.다양한 CNI 제공CNI이란? (container network interface)container 간의 통신을 지원하는 소프트웨어. VxLAN, Pod Network 라고도 부름.쿠버네티스 사용을 위해서 바니드시 Container Network Interface설치 필요.다양한 종류의 플러그인이 존재함 (플라넬, 칼리코, 위브넷 등)쿠버네티스 클러스터 구성control plane 오케스트라에서 지휘자의 역..