inflearn logo
강의

Course

Instructor

Kubernetes by a Toss Developer Operating Financial Infrastructure

Pod, the core and most basic object of Kubernetes

kubectl exec 에러가 발생해서 문의드립니다.

Resolved

149

toastbread

59 asked

0

안녕하세요. pod 강의를 듣다가 문제가 생겨서 문의드립니다.

 

제가 Docker Desktop(v.4.80.0) + kubeadm 으로 강의 세팅을 비슷하게 하고 학습 진행 중입니다.

 

그런데 아래 명령어들은 모두 잘되는데...

kubectl apply -f my-first-pod

kubectl get pods -o wide

kubectl logs my-first-pod

아래 명령어가 치면...
kubectl exec -it my-first-pod -- /bin/bash


아래와 같은 에러가 발생합니다.

error: Internal error occurred: error sending request: Post "//[::]:57349/cri/exec/LZxZE5Gs": http: server gave HTTP response to HTTPS client


docker desktop 에서 k8s reset 도 해봤는데, 여전하더라구요.

docker kubernetes msa infrastructure k8s

Answer 3

0

toastbread

최근에 docker desktop issue 에서 이 문제가 동일하게 발생하고 있다는 신고가 들어왔네요.

https://github.com/docker/desktop-feedback/issues/500

현재 docker desktop 4.80.x 에서 낮은 패치 버전을 쓰면 발생할 수 있습니다.

 

이 문제는 몇주 후쯤에 docker desktop 을 업데이트 하면 될 것으로 생각됩니다.

image.png

 

(저는 기다리기 힘들어서 그냥 docker desktop 버전을 4.79.x 로 낮췄습니다. 이 버전에서는 잘됩니다)

1

Hong

꽥... ㅠ 결국 버전 문제였군여 고생하셨습니다.


해결되었다니 다행이네요 오늘도 좋은 하루 보내세요!!

0

Hong

안녕하세요 식빵님 질문주셔서 감사합니다.


우선 이거는 음 Docker Desktop 문제로 보여요.

  • cri-dockerd랑 프로비저닝 모드 문제로 알고 있습니다.


기본적으로 식빵님이 kubectl exec 를 실행하게 된다면, 특정 서버를 경유하게 되는데 (CRI) 이떄 이 경로에 프로토콜 불일치가 있기 떄문에 보이는 문제로 보입니다.


우선 Docker Desktop을 최신 버전으로 업데이트 해보세요. 버전 문제일수도 있을꺼 같아요.


아니면 가장 확실하게 해결할 수 있는 방법은 kind 모드로 변경하는 겁니다. Settings -> Kubernetes -> Cluster provisioning 부분에 kubeadm을 kind로 변경하시면 됩니다.

  • 근데 이거는 이외에 추가적인 트러블 슈팅이 필요 할 수 있을꺼 같네요.


아니면 현재 실습을 기준으로만 한다면, 임시로 우회를 하시면 될꺼같습니다.

docker ps | grep <pod>

docker exec -it <container id> /bin/bash


혹시 진행해보시고 이슈 있다면 추가로 질문 남겨주세요 감사합니다.

0

communityai8509

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

현재 Kubernetes 환경에서 kubectl exec 명령어를 사용할 때 발생하는 에러는 클라이언트와 서버 간의 통신 문제로 보입니다. 주로 HTTP와 HTTPS 설정 관련하여 이런 문제가 발생할 수 있습니다. Docker Desktop과 Kubernetes 설정에 대해 아래와 같은 접근 방법을 제안드립니다.

문제 해결 방법

  1. Kubernetes 재설정

    • kubectl exec 명령어가 네트워크 문제로 인해 발생할 수 있어 Kubernetes 클러스터의 재설정이 필요할 수 있습니다. Docker Desktop에서 Kubernetes를 완전히 재설정하거나 제거 후 다시 설치하는 방법도 고려해보세요.
  2. Kubernetes 컨텍스트 확인

    • kubectl config current-context 명령어를 통해 현재 사용 중인 컨텍스트가 올바르게 설정되어 있는지 확인하세요. Docker Desktop과 연결된 컨텍스트를 사용 중인지 점검합니다.
  3. Kubernetes 버전 확인

    • 사용하는 Kubernetes 버전이 Docker Desktop에서 지원하는 버전과 맞는지 확인해야 합니다. kubectl version 명령어로 클라이언트와 서버 버전을 확인하고 호환성 문제를 체크하세요.
  4. 네트워크 설정 변경

    • Docker Desktop의 설정 중 네트워크 관련 옵션을 확인하세요. 혹시 프록시 설정이 제대로 되어 있는지, 또는 필요하면 직접 네트워크를 설정하세요.
  5. 인증서 문제 해결

    • 가끔 인증서 관련 이슈로 인해 HTTPS가 작동하지 않을 수 있습니다. 클러스터 내의 인증서 설정이 올바른지 확인하고, 필요하면 인증서를 재생성해 보세요.

관련 자료 및 링크

위의 방법들이 도움이 되기를 바라며, 추가적인 문제가 있다면 질문을 이어서 남겨주세요. 지식공유자께서 더 많은 도움을 주실 수 있을 것입니다.

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

파킹 페이지와 대기열 큐 질문입니다.

0

12

0

virtualbox 설치시

1

19

1

실행중인 컨테이너를 모두 삭제하는 방법(윈도우버전)

0

23

2

winpty docker 설정

0

21

2

vs code설치했는데도, easy docker 파일 열기에서 vs code 아이콘은 안보여요

0

18

1

유비쿼터스 언어와 class name

0

40

1

https:// studio.opentofu.click 로 접속이 안돼요

0

41

1

자료

0

39

1

aws 계정 생성 질문

1

53

1

에이전트 프로그램 다운로드 불가

0

70

2

verify.sh 4단계 실패 — Jenkins 컨테이너에서 127.0.0.1:6443 connection refused

0

55

2

아무 수정도 안하고 주어진 소스로 그대로 했는데 패스워드 에러가 남

0

68

1

처음 실행 시 계속 패스워드가 틀리다고 나옴. 수정하고 해도 마찬가지임

1

83

2

섹션 2 - 9강. API 관련 질문

0

66

2

11강 [실습] Docker로 MySQL1 분만에 실행하기

0

80

2

11강 [실습] Docker로 MySQL1 분만에 실행하기

0

63

2

설치 가이드대로 해도 안되는 경우가 있더라고요

0

59

2

구현 방법에 대한 문의

0

68

2

장애 격리 관련해서 궁금한 부분이 있어요

0

50

2

Github repo 404 not found

0

52

1

MSA 통신방식에 대해서 질문 있습니다.

0

49

1

코드 깃허브는 없을까요?

1

55

2

4. ArgoCD설치---Base64 디코딩 부분만 PowerShell 방식으로 바꾸어서 설치 필요

0

54

1

안녕하세요 질문있습니다.!

0

57

2