inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

대세는 쿠버네티스 (초급~중급편)

ConfigMap, Secret - 실습

k8s naming convention이 궁금합니다.

1041

이수빈

작성한 질문수 1

1

일프로 강사님께.

 

안녕하세요. 일프로 강사님 강의를 잘 챙겨보고 있는 학생입니다. 강사님 수업을 듣고 기존 도커 컨테이너로 운영하고 있는 서비스를 로컬에서 k8s로 변경하면서 공부하고 있습니다.

 

제가 백엔드 개발을 주로 해서 yml 파일을 작성할 때 코드 컨벤션에 신경이 많이 쓰입니다. deployment나 service, configMap 등의 이름을 작성할 때 현업에서 사용하고 있는 컨벤션 등이 있다면 알려주실 수 있을까요? 찾아보니 유의미한 자료를 찾지 못해서 질문을 남깁니다.

 

좋은 강의 감사드립니다!!

docker kubernetes

답변 1

2

일프로

안녕하세요.

쿠버네티스에서 네이밍과 레이블의 이름들을 잘 만드는 건 중요합니다.

하지만 자바처럼 공식적이고 명료한 네이밍 컨벤션은 없기 때문에 인터넷에서 딱 마음에 드는 내용은 찾기 힘들꺼예요.

 

그래서 먼저 쿠버네티스 공식 문서로 리소스의 이름과 레이블/셀렉터의 이름 규칙에 대해서 대략적으로 알아야 하고

 

  • 쿠버네티스 공식 문서

이름 생성 규칙 : https://kubernetes.io/ko/docs/concepts/overview/working-with-objects/names/

레이블과 셀렉터 규칙 : https://kubernetes.io/ko/docs/concepts/overview/working-with-objects/labels/

 

다른 공식 오픈소스들에서는 어떻게 네이밍을 했는지 살펴봐야 합니다. 결국 마이크로 서비스 상에서의 트리구조인 기능들을 잘 표현할 수 있는 이름을 작명하는 게 가장 중요하고요. 결국 이름 자체는 소문자와 숫자 그리고 하이픈(-)을 사용해서 만듭니다.

 

  • 제 다른 강의에서 Promethues를 가지고 정리한 내용

image

그리고 현업에서 더 다양한 방법으로 만들기 때문에 말씀드리면 더 혼란이 가중될 꺼예요.

예를들어 frontend-service, database-deployment, redis-pod 이런식으로 리소스 유형을 포함 시켜서 만들기도 하고요.

그리고 dev-frontend, prod-database 같이 각 환경에 따라서 접두사를 추가하기도 합니다.

그리고 api-server-v2, frontend-v1.3 이렇게 리소스 버전을 붙이기도 하고요.

또, 그리고 us-east-db-replica, eu-cache식으로 클라우드 환경에서는 지리적인 영역을 접두사에 포함하기도 합니다.

또, 그리고 payment-system-queue, payment-system-db 처럼 각 시스템 별로 접두사를 주기도 해요.

 

그래서 이렇게 이름(라벨/셀렉터)를 통해서 그 시스템이 어떤 건지 명확하게 알 수 있게 만드는 게 중요하고요. 명령 규칙만 보자면 쿠버네티스 공식 문서에 아래 내용이 전부입니다.

  • 253자를 넘지 말아야 한다.

  • 소문자와 영숫자 - 또는 . 만 포함한다.

  • 영숫자로 시작한다.

  • 영숫자로 끝난다.

그리고 위 규칙은 Service의 경우 기능적으로 이 리소스 이름 자체가 DNS 이름으로도 쓰이기 때문에, 결국 우리가 인터넷에서 도메인으로 본 이름들이 쓰인다고 볼 수 있어요.

 

좀 느낌이 오셨나요?

0

이수빈

느낌 왔습니다!!

 

빠른고 상세한 답변 정말로 감사드립니다~!!

이거 지금 부터 들어도 괜찮을까요 ?? 시간이 꽤지난거같은데 .. 뭐 최신하고 아에 안맞을까요 .

0

41

1

pod kubetm/app 에서 image를 갑자기 못가져 오는거 같습니다.

1

47

2

3. Node Schedule 중 pod-5가 마스터 노드에 배치됩니다.

1

54

2

volume hostpath의 강의에 관해 질문이 있습니다.

1

41

2

컨트롤러

1

77

2

네임스페이스+파드

0

78

3

강의영상 과 자료

0

88

2

IP 가 어딨나요?

1

76

2

설치 문제 없는건가요?

1

63

1

xshell 접속오류

1

78

2

[15. ConfigMap, Secret - 실습] Env (File) 실습 시 문의사항

1

95

2

Node Schedule 실습 시 pod3 생성 시 메모리 요청량이 올라가지 않는 사항

1

74

1

Guest OS

1

78

2

kubeTM Blog는 없어진건가요????

1

103

2

yml 작성하다가 에러 발생해서 문의 드립니다.

0

102

2

설치수업중에 질문드립니다.

1

130

2

기초다지기 설치 문의드립니다.

1

182

4

HPA 부분 Auto Scaler 설치하는 링크가 없습니다!!

1

104

3

클러스터 초기화 및 팟 네트워크 세팅시 문제가 있습니다

1

138

1

환경 구성에 있어서 질문드립니다

1

139

2

configMap 파일생성

1

118

2

dashboard에서 pod 생성이 되지 않습니다.

1

141

2

nodePort 서비스 접근 Client sent an HTTP request to an HTTPS server

1

133

2

대시보드 화면이 달라요 ㅠㅠ

1

103

2