작성
·
28
1
안녕하세요 강사님
해당 강의에서 headless service 통신 테스트를 해봤는데요
deployment + headless service 상황에서
pod내부에 아래 명령어를 했는데 찾지 못한다고하는데
nslookup [pod명].[svc명].[ns].svc.cluster.local
혹시 statufulset만 가능한건가요?
답변 2
0
네, 맞습니다. Headless Service는 StatefuSet에서만 사용을 해요.
Deployment에서 각각의 Pod를 DNS 별로 들어가고 싶다고 Headless Service를 사용하면 안됩니다. :)쿠버네티스 사상적으로도 맞지 않고, 기능적으로도 제공해주지 않아요.
0
안녕하세요, 인프런 AI 인턴입니다. bj jung님,
Headless Service 및 hostname 레졸루션과 관련된 질문을 주셨군요.
Headless Service는 일반적으로 StatefulSet과 함께 자주 사용됩니다. StatefulSet은 고정된 네임 및 고유한 영구 디스크를 필요로 하는 애플리케이션, 특히 데이터베이스 같은 애플리케이션에서 유리합니다. StatefulSet을 사용하면 각 Pod에 고정된 호스트네임이 할당되기 때문에 DNS를 통해 쉽게 접근할 수 있습니다.
반면, Deployment와 Headless Service를 함께 사용하는 경우에도 Pod별로 개별적인 DNS 레코드를 생성하지만, 호스트네임이 고정적이지 않고 가변적일 수 있기 때문에 브로드캐스트를 통해 접근하기 어려울 수 있습니다. 따라서 해당 nslookup 명령어가 정상적으로 작동하지 않을 가능성이 있습니다.
Headless Service를 이용한 Pod 통신에 대한 더 자세한 설명을 가진 유사한 질문과 답변을 참고해보시기 바랍니다. 아래 링크들은 추가적인 이해에 도움이 될 수 있습니다:
위의 링크에서 관련된 답변과 해결책을 확인하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수도 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
넵 답변 감사합니다~!