강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

몽하님의 프로필 이미지
몽하

작성한 질문수

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

📝 배포 파이프라인 구축 후 마주하게 되는 고민들

기본 values 파일과 service name에 대한 질문이 있습니다.

작성

·

16

·

수정됨

0

안녕하세요.

섹션 18에서 values-dev.yaml과 같은 파일을 만들면, values.yaml은 자동으로 읽어온다고 설명해주셨는데, 명령어에는 values-dev.yaml만 명시했는데 자동으로 읽어오는 values.yaml의 조건이 있나요?

가령, 같은 디렉토리에 있어야 된다던지, 모든 values 파일은 무조건 소문자 values로 시작하고 values.yaml 파일은 반드시 존재해야하는 그런 규칙이 있나 해서 여쭤봅니다.

 

그리고 helm을 통해서 service를 생성할 경우 컨테이너 포트의 이름이 http이고 서비스 포트의 이름도 동일한 http이던데요, 이 둘이 같을 때 문제가 되는 상황은 없는지 궁금합니다.

apiVersion: v1
kind: Service
metadata:
  name: api-tester-2223
  labels:
    helm.sh/chart: api-tester-0.1.0
    app.kubernetes.io/name: api-tester
    app.kubernetes.io/instance: api-tester-2223
    app.kubernetes.io/version: "v1.0.0"
    app.kubernetes.io/managed-by: Helm
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
      nodePort: 32223
  selector:
    app.kubernetes.io/name: api-tester
    app.kubernetes.io/instance: api-tester-2223
containers:
  - name: api-tester
    securityContext:
      {}
    image: "1pro/api-tester:v1.0.0"
    imagePullPolicy: Always
    ports:
      - name: http
        containerPort: 8080
        protocol: TCP

답변 2

0

몽하님의 프로필 이미지
몽하
질문자

생각해보니 container.ports.name과 serivce.ports.name이 동일한 값을 사용하더라도 selector가 있어서 상관 없을 것 같기도 하네요.

0

일프로님의 프로필 이미지
일프로
지식공유자

Helm은 항상 values.yaml을 기본값으로 자동 로딩합니다. -f values-dev.yaml은 추가(overwrite) 옵션일 뿐입니다. 대신 values.yaml파일은 꼭 Chart 루트 디렉토리에 있어야 되요.

그리고 두 번째 질문은 문제 없고요. 이유는 Sprint1에서 Service를 공부했을 때 말씀드렸었는데 다시 한번 강의를 들어보시면 해당 구조가 이해될 거에요.

 

몽하님의 프로필 이미지
몽하
질문자

강의를 다시 봤는데 강의 내용에는 container ports에 name과 port를 주고 service의 targetport 속성에 해당 name을 할당했습니다. service의 ports 속성에 name이 들어가는 경우와는 달라보여서 드린 질문입니다. 드린 질문의 예는 service의 ports 속성에도 name이 있고 여기에도 container port의 name과 동일한 http를 할당했을 때 발생하는 문제가 없는지 여쭤 본 것입니다.

제가 궁금한걸 다시 정리하면,

  1. container.ports.name 속성은 service.ports.targetport에서 port 대신 사용할 수 있는 값으로 이해했는데, service.ports.name은 service port에 대한 alias(?)가 아닌가 하는데서 시작된 의문 입니다.

  2. 1번이 맞다면 service.ports.targetport에서 사용한 http와 service.ports.name에서 사용한 http가 같아도 문제가 발생하지 않는지 입니다.

몽하님의 프로필 이미지
몽하

작성한 질문수

질문하기