inflearn logo
강의

Course

Instructor

Practical GitOps CI/CD with Jenkins and ArgoCD

[Lab 2-2] Setting Up the Jenkins Practice Environment - Docker Compose (MacOS)

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

Resolved

3

sskim91

10 asked

0

환경

증상

setup-mac.sh 실행 후 bash verify.sh를 돌리면 1~3단계는 통과합니다. 4단계(Jenkins 컨테이너 내부에서 K8s 접속)만 아래 에러로 실패했습니다.

The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port?

원인

해결

  1. /etc/hosts에 이름을 등록했습니다.

sudo sh -c 'echo "127.0.0.1 kubernetes.docker.internal" >> /etc/hosts'
  1. kubeconfig 클러스터 주소를 바꿨습니다.

kubectl config set-cluster docker-desktop --server=https://kubernetes.docker.internal:6443
  1. bash verify.sh를 다시 실행하니 4단계까지 모두 통과했습니다. Jenkins 컨테이너 재시작은 필요 없었습니다.

docker jenkins kubernetes ci/cd backend devops argocd

Answer 1

0

communityai8509

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

Jenkins 컨테이너 내부에서 127.0.0.1:6443으로 접속할 때, 127.0.0.1은 호스트가 아닌 컨테이너 자신을 가리키므로 Kubernetes API Server에 연결할 수 없습니다. 컨테이너에서 호스트의 Kubernetes API Server에 접근하려면 kubeconfig의 서버 주소를 호스트로 해석 가능한 도메인(kubernetes.docker.internal)으로 변경하고, Docker Compose에서 해당 호스트를 연결해 주어야 합니다.

Kubernetes Dashboard를 호스트에서 외부 접근하는 과정과 포트 포워딩 확인 방법을 다룬 유사한 답변을 참고해 주세요.

Kubernets 설치 관련 질문

해당 답변에서도 kubectl proxy 실행 시 지정한 Master Node의 IP로 접속하도록 안내하고 있으며, 컨테이너 또는 외부 환경에서 Kubernetes API에 접근할 때 localhost 대신 접근 가능한 호스트 주소를 사용해야 한다는 점이 핵심입니다. 또한 서비스의 외부 포트는 kubectl get services 명령으로 확인할 수 있습니다.

추가로 질문자님께서 적용하신 것처럼 다음과 같이 kubeconfig의 API Server 주소를 변경하는 방식이 적절합니다.

kubectl config set-cluster docker-desktop \
  --server=https://kubernetes.docker.internal:6443

macOS에서 kubernetes.docker.internal이 호스트로 해석되지 않는 경우에는 /etc/hosts에 해당 이름을 등록해야 하며, Docker Compose의 extra_hosts 설정도 함께 확인해야 합니다.

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

안녕하세요.

0

14

1

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

1

33

1

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

1

42

2

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

0

49

2

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

0

57

2

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

0

49

2

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

0

44

2

isInterrupted 질문 있다.

0

29

1

구현 방법에 대한 문의

0

59

2

RunIdIncrementer batch 5랑 6랑

1

49

2

강의 자료를 받아볼 순 없겠나

1

66

2

Github repo 404 not found

0

42

0

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

0

44

1

코드 깃허브는 없을까요?

1

50

2

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

0

52

1

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

0

52

2

강의 기다리고 있습니다!

0

48

0

@Modifying에 관하여

1

54

1

영상이 검은화면인 강의들이있어요. 맥북사용중입니다.

1

55

1

Chat URL 시작이 http로 시작

0

78

3

24강 소스코드 관련

0

46

1

9월 8일 세션 진행한 거는 없었을까요

0

69

1

미션1 진행방법 관련

1

75

1

스웨거 접속이 안되는데 확인 부탁드립니다.

0

53

1