대머리개발자

간단 로컬 쿠버 설치에서 배포까지... 본문

개발이야기/오픈소스 설치

간단 로컬 쿠버 설치에서 배포까지...

대머리개발자 2023. 7. 27. 14:31
728x90

win) Docker Desktop 을 이용해서 쿠버네티스 설치치

 

클릭질 몇 번으로 간단하게 설치 가능하다. 

 

앞선 블로그에서 이미지를 만들어 도커로 배포를 해보았다. 해당 이미지를 이용해 쿠버로도 배포하려고 한다.

https://hcnmy.tistory.com/93

 

jib 이용한 컨테이너 배포

코틀린s plugins { id("org.springframework.boot") version "3.1.0" id("io.spring.dependency-management") version "1.1.0" id("com.google.cloud.tools.jib") version "3.3.2" kotlin("jvm") version "1.8.21" kotlin("plugin.spring") version "1.8.21" kotlin("plugi

hcnmy.tistory.com

 

단순하게 컨테이너가 하나라면 굳이(?) 쿠버를 쓰는 이유는 없겠지만...왜 쿠버쿠버 하는지 이유좀 맛좀 보자...

 

서비스 할 친구(이미지)를 docker run 하듯이 kubectl run ~~ 하면 된다. 

 

실제 kubectl run을 이용하지 않고 별도의 파일에 컨테이너의 관계를 명시한다고 한다.

kubectl apply -f test-pod.yaml

설정에 대한 apply로 !!

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-api
spec:
  selector:
    matchLabels:
      app: test-api
      tier: back
  template:
    metadata:
      labels:
        app: test-api
        tier: back
    spec:
      containers:
        - name: test-api
          image: forcekhc/test
          imagePullPolicy: Never
          ports:
            - containerPort: 81

 imagePullPolicy: Never  설정을 통해서 로컬 이미지를 이용할 수 있도록 진행

이미지를정 상적으로 기동되었는데... 외부에서는 접근할 방법이 없다.

그 때 사용하는 친구 

apiVersion: v1
kind: Service
metadata:
  name: test-api
spec:D
  selector:
    app: test-api
    tier: back
  type: NodePort  
  ports:
    - port: 8080
      targetPort: 81
      nodePort: 30001

nodePort가 외부에 노출되는 port 이다.

 

 

실제 테스트 API 테스트

 

조금 복잡한 구조에서 쿠버를 사용한다면...진짜 편할것 같다.

아니 단일 POD만 사용한다고 해도 그자체로 충분히 매력적이다. 쿠버가 자체적으로 가지고 있는 기술들이 어메이징하기 때문이다. ㅎㅎ

 

더 디테일한 부분들은 진정 Ops한테 넘기고.. 난 적당히 Ops를 아는개발자로만 .....

 

 

CI/CD까지는 해보자.

 

728x90

'개발이야기 > 오픈소스 설치' 카테고리의 다른 글

[jenkins] 스프링 jar 파일 배포  (0) 2023.08.18
win pc에 k8s 설치에 대한 AI Response  (0) 2023.07.28
컨테이너 이해하기  (0) 2023.07.25
쿠버네티스 이해하기  (0) 2023.07.21
Kong API gateWay  (0) 2023.07.17