Inflearn brand logo image

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

odark님의 프로필 이미지
odark

작성한 질문수

쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)

📝 CRD가 사용된 패턴

CRD내용중에

작성

·

32

1

CRD 패턴 말씀중에 이해가 필요해서 질문올려봅니다. 강의중 아래와 같이 말씀하셨습니다.

crd를 보고 로직을 쿠버 개발자가 만들어 리소스를 생성하고 crd는 별도로 또 devops엔지니어가 crd를 만들도록 업무가 구별되어있나요?

또 crd를 보고 쿠버 개발자가 한다고 하셨는데 또 반대로 구조를 만들어놓으면 거기에 맞게 crd를 devops엔지니어가 만든다는게...

뭐가 뭔지 이해가 안갑니다.. ㅠㅠ 뭐가 우선인지~~ 그리고 보통 쿠버 운영하는사람이 다 하지 않나요? crd 만든사람 따로 쿠버 리소스 만드는사람 따로 있나요?

myDatabase를 조회해서 안에 있는 속성을 보고 여러 리소스들을

생성시키는 로직이 있어야 되는데 이건 직접 구현이 필요한 부분이고요 그래서 이렇게

Kubernetes 개발자가 이런 구조를 만들어 놓으면 DevOps 엔지니어 엔지니어는 이 CRD를

만들어서 쉽게 배포를 할 수가 있게 돼요

답변 2

0

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

쿠버네티스 운영자 소희 DevOps 엔지니어는 쿠버네티스를 운영하는 사람입니다. 만들어져 있는 오픈소스나 운영에 알아야하는 쿠버네티스 리소스들을 사용하는 역할이고요.

쿠버네티스 개발자는 운영자가 사용할 수 있는 오픈 소스를 개발하는 사람이라고 이해하시면 되세요. 채용 공고를 보더라도 DevOps 엔지니어와 쿠버네티스 개발자를 별도로 모집하고 있고요.

강의에서 써본 Grafana나 Nginx 오픈소스들을 기업마다 커스터마이징을 해서 추가 개발 하거나 비슷한 용도의 App을 직접 만들기도 합니다. 그리고 이건 개발의 영역이고 쿠버네티스 개발자가 코딩을 하고 이미지 생성, 그리고 배포를 위한 리소스들을 만들어요. 이 리소스를 만들 때 실력이 있다면 CRD를 활용할 수 있고요.

DevOps 엔지니어는 이렇게 만들어진 패키지를 배포하고 관리하는 역할이라고 보시면 됩니다.

0

안녕하세요, 인프런 AI 인턴입니다.

odark님께서 질문하신 내용은 Custom Resource Definition(CRD)의 활용과 관련된 내용입니다. CRD는 쿠버네티스에서 사용자 정의 리소스를 생성할 수 있게 해주는 기능으로, DevOps 엔지니어나 개발자가 특정 요구에 맞는 리소스를 정의하고 운영할 수 있도록 합니다.

질문 내용에서 설명된 바는 다음과 같습니다:

  1. CRD의 역할 구분:

    • 개발자 역할: 쿠버네티스 개발자 혹은 시스템 설계자는 애플리케이션의 동작 및 아키텍처를 이해하고, 이를 바탕으로 필요한 리소스를 정의하는 로직을 구축합니다. 이 과정에서 myDatabase와 같은 특정 도메인에 맞춘 리소스 구조를 정의하고, 해당 구조에 맞추어 쿠버네티스가 동작하도록 설계합니다.

    • DevOps 엔지니어 역할: DevOps 엔지니어는 개발자가 설계한 구조에 맞추어 CRD를 만들고, 이를 통해 실제 시스템에 쉽게 배포할 수 있게 준비합니다. 즉, CRD를 사용하여 새로운 리소스를 정의하고 관리하는 부분을 담당하게 됩니다.

  2. 작업의 우선순위:

    • 일반적으로 시스템 설계 및 요구사항에 대해서는 개발자가 우선 설계하고, DevOps 엔지니어가 이를 지원하고 배포 환경에 맞게 조정합니다. 이는 각자의 전문성에 기반하여 작업이 분리 및 협력적으로 이루어지는 것입니다.
  3. 쿠버네티스 운영에서의 일반적인 역할 구분:

    • 실제 현장에서는 팀의 규모나 조직 구조에 따라 역할이 명확하게 구분될 수도 있고, 한 사람이 여러 역할을 담당할 수도 있습니다. 특히 작은 조직이나 스타트업에서는 DevOps 엔지니어가 CRD 생성과 쿠버네티스 리소스 운영을 모두 담당하기도 합니다.

좀 더 자세한 이해가 필요하시다면, 관련 콘텐츠를 통한 사례나 추가 자료를 확인하시는 것도 좋을 것 같습니다. 아래의 유사 링크를 참고하시기 바랍니다.

  • kubelet interface: 이 답변에서는 kubelet 소스코드 로직 구성 및 개발 라이프사이클에 대해 설명하며, CRD와 관련된 의사 결정 및 구현의 맥락을 이해하는 데 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

odark님의 프로필 이미지
odark

작성한 질문수

질문하기