inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

📝 쿠버네티스 흐름으로 이해하는 컨테이너

기술의 흐름으로 이해하는 컨테이너 질문드립니다!

112

ㅎㅇㅎㅇㅎㅇ

작성한 질문수 25

1

cafe: https://cafe.naver.com/kubeops

 

--

9분 58초쯤에 나오는 설명에 대한 질문입니다.

kubelet에서 컨테이너 런타임으로 바로 받는다는 의미가 잘 이해가 안갑니다.

우선 제가 이해한것을 말씀드리겠습니다.!

  1. CRI를 이용해서 grpc로 통신하는 방법에서

    CRI-plugin을 통해 직접 받는 방법으로 변경되었다.

  2. 각각의 컨테이너 밴더에서 플러그인을 구현하고 kubelet에서 해당 플러그인을 직접 호출한다.

 

여기서 궁금한 점입니다!

CRI 구조에서, 도커의 새로운 기능이 생기면 쿠버네티스도 패치해야한다고 하셨는데 이는 CRI-plugin를 이용할때도 동일한게 아닌가요? 둘의 개발 라이프사이클을 다르게 가져갈 수 있는 이유가 궁금합니다.

새로운 기능이 생겨도 인터페이스만 맞으면 되는 것인데,인터페이스의 변화가 필요하다면 결국은 플러그인이나 CRI나 kubelet의 변화도 필요한게 아닌가요??

kubernetes infrastructure container

답변 2

0

일프로

AI 인턴이 잘 대답해준거 같네요.

새로운 기능이 추가되더라도, 기존 CRI 인터페이스를 유지하면서 확장하면 kubelet은 수정할 필요가 없습니다. 예를 들어, containerd에서 새로운 기능이 생기더라도 CRI 플러그인에서 지원하면 kubelet은 그대로 유지될 수 있습니다. 반면, CRI 자체가 변경되면 kubelet도 업데이트해야겠지만, 이런 변경은 자주 발생하지 않아요.

근데 왜 도커의 새로운 기능이 생기면 CRI-plugin를 이용할때도 동일하다고 생각하시는지요?

0

인프런 AI 인턴

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

ㅎㅇㅎㅇㅎㅇ님께서 질문하신 내용은 쿠버네티스의 CRI(Container Runtime Interface) 구조와 관련된 부분입니다. kubelet이 컨테이너 런타임을 어떻게 호출하고, 인터페이스의 변화가 어떻게 영향을 미치는지에 대해 이해하기 어려우신 것 같습니다.

  1. CRI와 플러그인의 관계:

    • CRI는 쿠버네티스가 다양한 컨테이너 런타임과 상호작용할 수 있도록 정의된 표준 인터페이스입니다. 이를 통해, 쿠버네티스와 컨테이너 런타임 간의 의사소통이 표준화됩니다.
    • CRI 플러그인은 각 컨테이너 런타임을 위한 인터페이스 구현체입니다. 즉, 각 런타임 벤더에서 CRI 표준에 맞는 플러그인을 구현하여 kubelet이 이를 호출하게 됩니다.
  2. 개발 라이프사이클의 독립성:

    • CRI 구조 덕분에 쿠버네티스와 컨테이너 런타임의 개발 주기가 서로 독립적으로 진행될 수 있습니다. 이는 kubelet과 런타임 간의 의사소통을 표준화된 인터페이스를 통해 하기 때문입니다.
    • 인터페이스가 변하지 않는 한, 각각의 새로운 기능이 추가되더라도 서로간의 코드 변경이 최소화될 수 있습니다.
  3. 인터페이스의 변화가 필요한 경우:

    • 질문하신 것처럼, 인터페이스 자체에 변화가 필요하다면, 이는 kubelet과 관련된 변경이 필요하게 됩니다. 그러나, 이러한 변화는 매우 신중하게 이루어지며, 버전 관리와 같은 안전 장치가 함께 적용됩니다.

이와 관련된 더 구체적인 설명이 필요하시다면 아래의 링크를 통해 비슷한 주제를 다룬 답변을 참고하시는 것이 도움이 될 수 있습니다:

  • kubelet interface: 이 답변에서는 kubelet 소스코드 로직 구성 및 개발 라이프사이클에 대해 좀 더 구체적으로 설명하고 있습니다.

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

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

1

32

2

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

1

87

1

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

1

91

3

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

1

86

1

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

0

94

2

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

1

85

1

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

0

73

2

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

1

64

2

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

1

60

1

인스턴스 스펙

1

70

2

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

1

83

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