inflearn logo
강의

Course

Instructor

Kubernetes Another Class - Sprint 1, 2 (#PracticalBasics #Installation #Deployment #Jenkins #Helm #ArgoCD)

📝 Concerns encountered after building a deployment pipeline

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

73

mongha

22 asked

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

kubernetes devops argocd container helm

Answer 2

1

mongha

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

0

1pro

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

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

 

1

mongha

강의를 다시 봤는데 강의 내용에는 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가 같아도 문제가 발생하지 않는지 입니다.

1

1pro

아 그런 의도였군요.

각각의 오브젝트의 포트 이름일 뿐이기 때문에 전혀 상관 없는 부분입니다.

젠킨스버전과 플러그인설치

1

36

2

강의자료 원본 애니메이션처리가 되어 있을까요?

1

87

1

get pods 했을 때 connection refused가 뜹니다.

1

92

3

베이그란트 플러그인 설치 실패

1

86

1

실습겸 미니pc사보려는데 이정도면 괜찮을까요?

0

95

2

Image updater 1.0 이후 CRD 기반 변경 시 적용 방법 공유합니다.

1

85

1

Sprint 2 강의에서 yaml 파일들 경로에 대해 궁금한게 있어요.

1

64

2

Selector의 속성에 대해 질문 드립니다.

1

60

1

인스턴스 스펙

1

70

2

Container 기술 관련해서 질문드립니다.

1

84

3

Jenkins 빌드 UI 설정 관련 질문드립니다.

1

86

3

Jenkins 빌드 진행 UI 설정

0

70

1

cicd 서버 올린 후 기존 마스터 노드 기동 시 네트워크 에러

1

80

2

HPA - Auto Scaling 실습 관련 에러 해결 공유.

1

66

1

Loki-Stack 실습 관련 질문

1

74

2

Self-Healing 테스트 중 문의사항

1

73

2

영상 내용과 강의 자료가 상이해서 강의 듣기가 짜증납니다.

0

108

2

젠킨스 구축 9단계 오류

1

89

3

실습환경 네트워크 끊김 및 느린 속도 관련 질문

1

86

2

온프레미스 환경에 쿠버네티스도입

1

102

1

SealedSecret 관련 궁금증.

1

53

1

vagrant up 사용 시 The SSH connection was unexpectedly closed by the remote end

1

90

2

젠킨스 배포 질문

1

60

2

Error: UPGRADE FAILED: client rate limiter Wait returned an error: context deadline exceeded

1

75

1