• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

EXTENAL IP가 pending 상태로 나옵니다.

21.06.25 08:54 작성 조회수 1.41k

2

처음 실습 따라할 때에는 kubectl get services 에서 chk-hn의  EXTERNAL-IP가 잘 보였습니다.

마스터 노드를 재부팅한 후 다시 한번 실습 복기를 하는데 이번에는 EXTERNAL-IP가 pending 상태로 나옵니다.

1. 원인이 무엇일까요?

2. expose 된 것을 취소하는 명령어는 없나요?

3. 그리고, kubectl delete deploy chk-hn 을 하고 나서 (디플로이먼트 삭제) kubectl get services를 했더니 서비스는 죽지 않고 여전히 살아 있는 상태로 나옵니다. 서비스는 자동으로 죽는게 아닌지요?

답변 3

·

답변을 작성해보세요.

1

Jason Yoo님의 프로필

Jason Yoo

2021.10.12

영상 6분 10초에 metallb.yaml 파일의 경로가

~/_Lecture_k8s.starterkit/ch2/2.4/로 되어 있는데

이게 아니라

~/_Lecture_k8s_starter.kit/ch2/2.4/로 하니까

pending이 뜨는 오류가 해결 되었습니다.

음..그거 중간에 주소의 일관성을 위해서 변경하였습니다. 

처음: _Lecture_k8s.starterkit

현재: _Lecture_k8s_starter.kit

습니다. 그래서 과거 주소는 경로 자체 틀려서 apply -f가 안되서 pending이 아니라 경로가 없다고 나올꺼에요  

너무 minor 한 업데이트라 새소식을 알리진 않을 예정이긴 한데 혹시 모르니 note에 적어두는게 좋을꺼 같네요. remind에 감사드립니다. 

1

안녕하세요 

현재 내용으로는 다소 제한적인 정보 때문에 정확히 답하기는 어려운 면이 있는데요. 

일단 하나씩 추정 답변을 해 볼까요?

1. external ip pending 원인이 무엇일까요?

마스터 노드만 껐다가 켜서 그게 pending으로 바로 바뀌긴 어려울꺼 같고요. 

마스터 노드를 껐다가 일정 시간 이후에 다시 키고 바로 안되는 것을 의미하실수도 있는데요..

 MetalLB pods들이 어떤식으로든 동작하지 않아서 그런 것으로 보여져요. 

복구를 원하신다면 전체 노드들 다 끄고 다시 키는거 권장드리고 싶어요. 

2. expose 된 것을 취소하는 명령어는 없나요?

expose는 쿠버네티스 서비스를 만들어주는 명령어라서요 

취소는 kubectl delete service <이름> 을 입력하시면 됩니다. 

위와 같은 경우에는 kubectl delete service chk-hn 을 입력하시면 되겠네요 :) 

 

3. 그리고, kubectl delete deploy chk-hn 을 하고 나서 (디플로이먼트 삭제) kubectl get services를 했더니 서비스는 죽지 않고 여전히 살아 있는 상태로 나옵니다. 서비스는 자동으로 죽는게 아닌지요?

아마 강의를 들으셨으면 쿠버네티스는 MSA를 지향한다고 보셨을꺼에요 

deployment와 service는 다른 객체(object)라서요 

죽는 애가 아닙니다. 오히려 다시 동일한 애(deployment)를 배포하면 서비스랑 다시 붙게 됩니다. 

(나중에 다음 강의에서 더 자세히 다룰 예정이에요 ㅠㅠ 빨리 만들도록 노력...ㅠㅠ 회사 쿠버네티스 일이 ...쿨럭......)

고로 삭제를 원한다면 두개 모두 삭제하시는게 좋으실수도 있어요. 이건 선택의 영역이에요 

답변이 되셨기를요 :) 

즐거운 쿠버 되세요!

조훈 드림. 

0

magaretj님의 프로필

magaretj

질문자

2021.06.25

1번은 metallb 삭제 후 다시 적용하고 해결되었습니다.  2, 3도 이해되었어요~ 빠른 답변 감사드려요

:) 별말씀을요 즐겁게 쿠버 공부 되셨으면 좋겠어요. 

다음 강의를 빨리 해야 하는데 ㅠㅠ 일이 요즘 많네용 이런거 저런거 잘 조합해서 도움되게 만들어 볼께요. 감사합니다!!!