inflearn logo
강의

講義

知識共有

大勢はKubernetes(Helm編)

デプロイ - 実習

프로젝트에서 Helm Chart 관리 및 작성에 대하여

147

kws86436913

投稿した質問数 22

1

안녕하세요, 제가 제조업쪽이라 서비스가 원활한 회사에서 근무를 하고 있지 않아서, 일반적인 IT 업계에선 Helm Chart 관리를 어떻게 하는지 궁금해서 문의드리게 되었습니다.

일반적으로 적당한 프로젝트를 배포할 때 Front End 와 Back End Application 두가지 나눠서 배포한다고 해보겠습니다.

Vue 와 Spring Boot 를 사용하는데, 이 때 프로젝트 루트 경로에 예제에서 관리한 바와 같이 deploy 폴더를 만들어서 관리를 하도록 했습니다.

이 때, 기존 구성상 Ingress 가 다음과 같이 되어 있습니다.

 

rules:
  - host: hello.foo.com
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: svc-fe
              port:
                number: 8080
        - path: /api
          pathType: Prefix
          backend:
            service:
              name: svc-be
              port:
                number: 80

위와같이 되어 있을 경우, 이 ingress 는 두 영역 모두 의존성이 있습니다. fe 패키지에서 관리해야 할지, be 패키지에서 관리해야 할지 의문이 들었습니다.

아니면 Helm 은 IaC 도구로서 이며 원하는 인프라를 빠르게 셋업해줘야 하기 때문에 FE, BE 모두 한번에 관리하는게 맞는걸까요?

그렇다면 이런 경우에는 FE, BE 깃 레포가 아닌, 별도의 Helm Chart 레포를 만들어서 관리를 하는 걸까요?

kubernetes helm chart관리

回答 1

0

1pro

네, 일단 소스코드 레파지토리로 FE와 BE 각각의 레파지토리가 존재할 거고요.

그리고 Helm 배포용 레파지토리는 별도로 존재해야 합니다.

그리고 그 배포용 레파지토리에 디렉토리를 나눠서 BE용 Helm 패키지, FE용 Helm 패키지를 각각 존재하게 만들지, 아니면 BE와 FE를 한 패키지에 묶어서 value 옵션에 따라 배포될 pod를 선택하게 만들지는 배포 담당자의 판단입니다.

그리고 그 나누는 기준에 있어서는 배포할 담당자가 각각 있으면 패키지를 나누는 게 좋아요.

한 명이 다 한다고 했을 때는, yaml 스펙이 비슷한 Application 별로 패키지를 나누는 게 좋기도 하고.

그렇지 않으면 한 패키지로 만들 수도 있는 거죠.

그리고 만약 BE용과 FE용 Helm 패키지가 나눠졌다면 위에 ingress yaml 파일도 아래와 같이 BE용과 FE용으로 각각 나누면 됩니다.

rules:
  - host: hello.foo.com
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: svc-fe
              port:
                number: 8080
rules:
  - host: hello.foo.com
    http:
      paths:
        - path: /api
          pathType: Prefix
          backend:
            service:
              name: svc-be
              port:
                number: 80

0

kws86436913

강사님과 함께 들은 Open Source 들 같은 경우는 한번에 관리가 서비스 제공에 있어서 Chart 가 유리하다고 생각은 들었습니다. 서비스형 앱들은 담당별로 관리하는게 나을 것 같긴 하네요!
Ingress 는 리소스라기보단 Controller 가 참고하는 규칙이기 때문에 제시해주신 바와 같이 생성하면 되겠네요.
빠른 도움 주셔서 감사드립니다

톰캣 설치시 톰캣에 들어가지를 못함

1

31

2

helm v4 release

0

85

2

helm hook과 Pod initContainer 중 선택

1

65

2

K8s 에서 Service, Pod, Container 의 Port 매핑 질문

0

159

2

블로그에 출처를 남기고 정리해도 될까요?

1

124

2

Helm 의 POD 자동 재기동과 관련하여

1

347

2

nindent 사용시 결과값 하이픈(-) 생성 유무의 차이

1

410

1

tomcat 배포시 pod pending 현상

1

436

1

tomcat 분석과 관련하여 다시 질문 드려봅니다.

0

424

2

TOMCAT 분석에 있는 내용 중 궁금한 게 있습니다.

1

261

1

헬름은 롤백 기능을 지원하지 않는지요?

2

266

1

mychart 생성시 configmap 을 생성하고 배포시 발생하는 에러문의

2

288

1

install 시 발생하는 에러 문의

2

397

1

내 챠트 배포

1

348

1

prometheus 차트 구성 질문

1

442

1

helm 실습 관련 질문입니다..

1

525

2

jenkins에서 helm, kubectl 사용하도록 설정?

1

476

1

조금 아쉬운점.

2

419

0

톰캣 설치 후 접속

1

411

2

$ 의미가 무엇인가요?

1

495

1

$ 스코프

1

281

1

k8s 의 모니터링은 무엇으로 하는게 좋을까요?

1

395

1

helm chart의 app 버전 정보가 실제 버전과 동일한건가요?

1

721

1

grafana 설치시 service type 을 loadbalancer 로 할 경우..

1

689

2