-
K3S로 프로젝트 구성하기 - 5DevOps/K8s 2023. 6. 8. 22:34
1. ArgoCD로 k8s 자동 배포
1-1 레포등록 ( 깃 허브에서 도커 이미지레포를 별도로 생성했다. )
https://github.com/JEONSEUNGREE/ecommerce-image-k3s
1-2 ArgoCD 어플 생성
배포 전략은 자동 혹은 수동으로한다. (원하는 방식으로)
아래 네임스페이스는 미리 생성해둬야한다.
어플리케이션 이름은 대문자사용 불가이다.
마스터노드로 이동하여 k create ns ecommerce-dev로 미리 생성해둔다.
레포지토리 설정 -> 브랜치 설정 -> Path 설정 - yaml파일위치 (./)
위 설정을 입력했으면 CREATE로 생성한다.
yaml파일이 존재하면 자동또는 수동인경우 직접 sync버튼을 눌러서 Sync하면 된다.
1-3 Deployment.yaml 깃 레포에 생성
apiVersion: apps/v1 kind: Deployment metadata: name: ecommerce-backend spec: replicas: 1 selector: matchLabels: app: ecommerce-backend template: metadata: labels: app: ecommerce-backend spec: containers: - image: acoursove2/k3s_backend:latest name: ecommerce-backend ports: - containerPort: 2412
이전에 스프링 부트 프로젝트 톰캣서버를 2412로 설정했기때문에 맵핑을 맞게 설정해준다.
https://github.com/JEONSEUNGREE/ecommerce-image-k3s/blob/dev/ecommerce-backend.yaml
싱크 성공시 다음과 같이 보이고 해당 네임스페이스에서 파드를 확인해볼 수 있다.
2. 노드 포트 설정
2-1 스프링 프로젝트 서비스 yaml
서비스를 ecommerce-dev 네임스페이스에 생성해준다.
apiVersion: v1 kind: Service metadata: name: ecommerce-backend-svc-dev namespace: ecommerce-dev spec: type: NodePort ports: - port: 80 targetPort: 2412 protocol: TCP name: http # 기본적으로 그리고 편의상 쿠버네티스 컨트롤 플레인은 포트 범위에서 할당한다(기본값: 30000-32767) nodePort: 30007 selector: app: ecommerce-backend
k create -f 파일명
2-2 포트 포워딩 방법
https://heehee-myblog.tistory.com/9
nginx 2001 -> 노드 포트 30007 연결 후 로컬에서 확인한 스프링 프로젝트
'DevOps > K8s' 카테고리의 다른 글
K3S로 프로젝트 구성하기 - 7 (0) 2023.06.20 K3S로 프로젝트 구성하기 - 6 (0) 2023.06.08 K3S로 프로젝트 구성하기 - 4 (0) 2023.06.08 k8s 트러블 슈팅 - Failed to create pod sandbox (0) 2023.06.08