작성한 질문수
대세는 쿠버네티스 [초급~중급]
작성
·
300
1
서비스 - pod1 을 연결하여 서비스를 하다가 pod1을 delete pod --force로 강제삭제한 후에 서비스에 연결된 다른 pod2 바로 넘어가야하는데 넘어가는시간이 1분 정도 걸립니다. application단은 아니고 Layer4에서 넘어가야하는 건데요
더 빠르게 할 방법이 없을까요?
답변 1
0
안녕하세요.
질문의 내용이 잘 이해가 되지 않아서요.
설명의 이해를 위해 설정하신 yaml 파일들을 올려주시면 감사하겠습니다.
전제: . service A와 pod A1이 연동되어있는 상태
: service A (label=ha=active) ---- pod A1 (label=ha=active)
. pod A2 (label없음)
작업내용
1. [pod A1]의 라벨을 제거
$ kubectl label pod [pod A1] ha-
2. 기존의 [pod A1]의 라벨을 [pod A2]에 붙임
$ kubectl label pod [pod A2] ha=active
3. [pod A 1]에 접속해서 강제 종료 시킴(restart 될것)
$ kubectl exec -it [pod A1] -- /bin/bash
$ pod A1# kill -9 1
4. 여기서 문제가 발생함
현재 service A는 pod A2를 바라보고 있을텐데(endpoint확인완료)
service A가 바로 [pod A2]를 바라 보지 못함, 1분후에 [pod A2]를 바라봅니다.
yaml 정보(회사정보여서 삭제했습니다.)
pod A1, pod A2는 sctp프로토콜 38412로 listening하고 있습니다.
일단 해당 작업 중에 통신 중단될만한 이유는 없어 보이네요.
의심가는 부분은 protocol SCTP 입니다.
한번 TCP에서도 해당 문제가 발생하는지 체크 가능할까요?
이게 꼭 sctp여야 하는거여서요. 강사님말씀대로 프로토콜 떄문일 수도 있겠네요 확인해보겠습니다. 감사합니다.
전제: . service A와 pod A1이 연동되어있는 상태
: service A (label=ha=active) ---- pod A1 (label=ha=active)
. pod A2 (label없음)
작업내용
1. [pod A1]의 라벨을 제거
$ kubectl label pod [pod A1] ha-
2. 기존의 [pod A1]의 라벨을 [pod A2]에 붙임
$ kubectl label pod [pod A2] ha=active
3. [pod A 1]에 접속해서 강제 종료 시킴(restart 될것)
$ kubectl exec -it [pod A1] -- /bin/bash
$ pod A1# kill -9 1
4. 여기서 문제가 발생함
현재 service A는 pod A2를 바라보고 있을텐데(endpoint확인완료)
service A가 바로 [pod A2]를 바라 보지 못함, 1분후에 [pod A2]를 바라봅니다.
yaml 정보(회사정보여서 삭제했습니다.)
pod A1, pod A2는 sctp프로토콜 38412로 listening하고 있습니다.