GitHub

https://github.com/Choidongjun0830

클라우드

이미지로 만든 Spring 프로젝트 쿠버네티스에 배포하기 (우분투 환경)

gogi masidda 2024. 8. 12. 00:09
배포
kubectl apply -f {yaml 파일명}

Pod 로그 출력
kubectl logs {Pod명}

Pod명 확인
kubectl get po

포트 포워딩
kubectl port-forward service/{서비스명} {포트}

삭제
kubectl delete (deployment/svc) {이름}

 

 

insurance-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: insurance
  name: insurance
spec:
  replicas: 1
  selector:
    matchLabels:
      app: insurance
  template:
    metadata:
      labels:
        app: insurance
    spec:
      containers:
        - image: choidongjun/test:latest
          name: insurance
          ports:
            - containerPort: 8080
              name: insurance

 

insurance-service.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    app: insurance
  name: insurance
spec:
  type: NodePort
  ports:
    - name: "insurance-service"
      port: 5000
      targetPort: 8080
  selector:
    app: insurance

 

DB와 연동하는 프로젝트인데, DB는 윈도우 상에 설치되어있고, k8s는 우분투 환경에서 동작하기 때문에 외부에 있는 DB 접근이 필요했다. 

그래서 Endpoint를 수동으로 연결해서 ipv4주소:3306으로 윈도우 상에 설치된 mariadb에 접근하도록 하였다. 

 

참고

https://www.sktenterprise.com/bizInsight/blogDetail/dev/2887

 

 

mariadb-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: ex-host
spec:
  type: ClusterIP
  ports:
    - name: mariadb
      port: 3306
      targetPort: 3306

 

mariadb-endpoint.yaml

apiVersion: v1
kind: Endpoints
metadata:
  name: ex-host
subsets:
  - addresses:
      - ip: ipv4 주소
    ports:
      - name: mariadb
        port: 3306
        protocol: TCP

 

 

728x90