programing

서버에 연결할 수 없음: dial tcp [:1]:8080:connectex: 대상 컴퓨터가 이를 적극적으로 거부했기 때문에 연결할 수 없습니다.

abcjava 2023. 5. 11. 21:02
반응형

서버에 연결할 수 없음: dial tcp [:1]:8080:connectex: 대상 컴퓨터가 이를 적극적으로 거부했기 때문에 연결할 수 없습니다.

도커 이미지를 애저에 저장할 수 있는 애저 쿠버나츠에서 일하고 있습니다.여기 제 쿠벡틀 버전을 확인하려고 하는데, 그 다음에 받는 중입니다.

서버에 연결할 수 없습니다: dial tcp [:1]:8080:connectex: 대상 컴퓨터가 이를 적극적으로 거부했기 때문에 연결할 수 없습니다.

이를 위해 저는 MSDN:AKS 및 VSTS를 사용한 마이크로서비스 구축 – Part 2 및 MSDOCS:Kubernetes를 수행했습니다.

그래서 "이 문제를 해결하는 방법"을 제안해 주시겠습니까?

Windows 10에 있으며 Docker Desktop에서 Kubernetes를 사용하도록 설정하지 않았습니다.

여기에서 볼 수 있듯이 사용 가능한 컨텍스트가 없습니다.

도커 결합 쿠버네츠 컨텍스트

도커 데스크톱 설정으로 이동하여 다음과 같이 활성화합니다.

도커-스캐너 활성화 큐버넷

이제 다음과 같이 명령을 실행합니다.

kubectl config get-contexts

이와 같은 것이 보이는지 확인합니다.

명령줄의 kubectl 컨텍스트

또한 다음과 같이 노드를 나열해 볼 수도 있습니다.

kubectl get nodes

여기에 이미지 설명 입력

명령 프롬프트에서 아래 명령을 실행해야 하므로 클러스터를 구성하지 못할 수도 있습니다.

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

위의 CLI 명령을 사용하면 로컬 시스템에 완전한 클러스터 및 노드 세부 정보가 포함된 .config 파일이 생성됩니다.

에 그후당달다니립은신을 합니다.kubectl get nodes명령 프롬프트에서 명령을 실행하면 아래 이미지와 같이 클러스터 내의 노드 목록을 가져올 수 있습니다.

여기에 이미지 설명 입력 AKS(Azure Kubernetes Service) 배포 클러스터를 참조하십시오.

되어 있는지 할 수 에는 를 참조하십시오.$HOME/.kube/config리눅스 또는%UserProfile%/.kube/config관리자 권한으로 명령줄을 실행해 보십시오. 오류 메시지가 계속 표시됩니다.

구성 파일에 대한 자세한 내용은 https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/ 에서 확인할 수 있습니다.

저 같은 경우에는 두 사람 사이를 오가며az aks k8s 및 파일 이름docker-desktop.

클러스터 컨텍스트를 변경할 때마다 도커를 다시 시작해야 합니다. 그렇지 않으면 동일한 오류가 발생합니다.

Unable to connect to the server: dial tcp 127.0.0.1:6443: connectex: No connection could be made because the target machine actively refused it.

여기에 이미지 설명 입력

PS: 클러스터가 그림과 같이 시작되었는지 확인합니다(로컬 클러스터 중지).

Windows에 HOME 환경 변수가 설정되어 있지 않기 때문인 것 같습니다.kubectl는 구성 파일 " " 를 합니다.$(HOME)/.kube/config그러나 이 변수는 Window에 설정되어 있지 않기 때문에 파일을 찾을 수 없습니다.

USERPROFILE과 동일한 값의 HOME 변수를 생성하여 작동하기 시작했습니다.

기본적으로 이 문제는 미니 큐브나 종류가 구성되지 않은 경우에 발생합니다.미니 큐브나 종류를 다시 시작해 보십시오.그래도 문제가 해결되지 않으면 Minikube에서 사용하는 하이퍼바이저를 다시 시작해 보십시오.

minikube start

이 명령으로 문제가 해결되었습니다.

로컬 윈도우즈에서 Hyper-V를 사용하고 있는데 미니큐브를 구성하지 않아서 이 오류가 발생했습니다.

(그 질문이 미니큐브가 아니라 아즈레에 관한 것이라는 것을 알고 있습니다.하지만 이 기사는 오류 메시지의 맨 위에 있습니다.솔루션을 여기에 배치했습니다.)

Hyper-V를 사용하도록 설정합니다.

에 입력systeminfo사용자의 터미널에서.을 찾을 수 , 만약당신선찾수있면다을을아래의,

Hyper-V Requirements:     A hypervisor has been detected. Features required for Hyper-V will not be displayed.

Hyper-V가 올바르게 작동합니다.

할 수 없는 경우 설정에서 활성화합니다.

Hyper-V 네트워크 스위치 생성

Hyper-V 관리자를 엽니다.(검색하는 것이 가장 빠른 방법입니다.)

다음으로 왼쪽에 있는 PC 이름을 클릭합니다.

그런 다음 오른쪽에 가상 스위치 관리자 메뉴가 있습니다.

클릭하고 이름이 "미니큐브 스위치"인 외부 가상 스위치를 선택합니다.

Apply를 클릭하여 만듭니다.

미니큐브를 시작합니다.

터미널로 돌아가서 다음을 입력합니다.

minikube start --vm-driver hyperv --hyperv-virtual-switch "Minikube Switch"

자세한 내용은 이 문서의 단계를 참조하십시오.

도커가 실행 중인지 확인하고 미니큐브 또는 사용 중인 클라우드 큐브를 시작했습니다. "minikube start --driver=driver"를 실행한 후 문제가 해결되었습니다.

"kubectl get pods" 명령을 실행하는 동안 동일한 오류가 발생했습니다.

이 문제는 다음 단계를 통해 해결되었습니다.

먼저 현재 컨텍스트를 확인합니다.

kubectl config get-contexts
CURRENT   NAME      CLUSTER   AUTHINFO   NAMESPACE

컨텍스트가 설정되지 않은 경우 를 사용하여 수동으로 설정합니다.

kubectl config set-context <Your context>

이것이 당신에게 도움이 되기를 바랍니다.

Windows에서 이 오류가 발생하면 도커 인스턴스가 실행되고 있지 않을 수 있습니다.

위의 오류를 복제하기 위해 수행한 단계는 다음과 같습니다.

  1. 도커를 중지한 다음 nginx 배포를 시작하려고 했습니다.이렇게 하면 위에 언급된 오류가 발생합니다.

여기에 이미지 설명 입력

제가 어떻게 풀었나요?

  1. 내 경우 미니큐브가 실행 중인지 확인합니다.

  2. 미니큐브 시작

  3. 위의 구성을 적용해 보십시오.저의 경우 아래 스크린샷을 참조하십시오.

여기에 이미지 설명 입력

  1. 배포가 생성된 것을 확인하면 모든 것이 정상일 것입니다.

(azure cli 명령을 실행하여) 올바른 구성을 가지고도 정확히 같은 문제가 발생했습니다.

kubectl은 HOME env.변수 집합을 기대하는 것처럼 보이지만 나에게는 존재하지 않았습니다.하지만 다음과 같은 해결책이 있습니다.

구성을 가리키는 KUBECONFIG 환경 변수를 추가하면 작동이 시작됩니다.

예:

setx KUBECONFIG %UserProfile%\.kube\config

변수가 있으면 kubectl은 파일에서 읽는 데 문제가 없습니다.

추신: 다른 답변에서 제안한 것처럼 HOME 변수를 설정하는 대신 사용할 수 있습니다.

Azure 자체 호스팅 에이전트에 Kubernates 클러스터에 액세스할 수 있는 권한이 없습니다.

Remove Azure self-hosted agent -  .\config.cmd Remove
configure again ( .\config.cmd) with a user have permission to access Kubernates cluster

비슷한 문제가 발생했습니다.

> kubectl cluster-info
"To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Unable to connect to the server: dial tcp xxx.x.x.x:8080: connectex: No connection could be made because the target machine actively refused it."

> kubectl cluster-info dump
Unable to connect to the server: dial tcp xxx.0.0.x:8080: connectex: No connection could be made because the target machine actively refused it.

이 설정은 Docker for Desktop이 Kubectl의 자체 복사본을 구입하기 전까지는 잘 작동했습니다.이 상황을 극복하는 두 가지 방법이 있습니다.

1 - 클러스터 사용 중 Desktop용 Docker 종료/중지

2 - KUBECONFIG 파일 경로 설정

저는 두 가지 옵션을 모두 시도해 보았는데 효과가 있었습니다.

.kube/config에 대한 좋은 소스를 찾았습니다. 빠른 참조를 위해 여기로 보냅니다.

apiVersion: v1
clusters:
- cluster:
    certificate-authority: fake-ca-file
    server: https://1.2.3.4
  name: development
- cluster:
    insecure-skip-tls-verify: true
    server: https://5.6.7.8
  name: scratch
contexts:
- context:
    cluster: development
    namespace: frontend
    user: developer
  name: dev-frontend
- context:
    cluster: development
    namespace: storage
    user: developer
  name: dev-storage
- context:
    cluster: scratch
    namespace: default
    user: experimenter
  name: exp-scratch
current-context: ""
kind: Config
preferences: {}
users:
- name: developer
  user:
    client-certificate: fake-cert-file
    client-key: fake-key-file
- name: experimenter
  user:
    password: some-password
    username: exp

Reference: https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

@ilya-chernomordik에 이어 시스템 변수에 구성 경로를 추가했습니다.

setxKUBECONFIG "D:\미니큐브\Minikube.minikube\config"

C에 공간이 부족하여 기본 위치를 C: 드라이브에서 D: 드라이브로 변경했습니다.

이제 문제는 해결되었습니다.

edit: 5분 후에 api 서버가 다시 중지되었습니다.저는 이 문제를 해결하기 위해 노력한 지 5-6시간이 넘었습니다.코렉트 경로를 추가한 후에도 왜 이런 문제가 발생하는지 잘 모르겠습니다.

Rancher Desktop에서 컨텍스트가 올바르게 선택되었는지 확인합니다.

여기에 이미지 설명 입력

저는 창문에서 같은 문제에 직면했습니다.
미니큐브에서 실행되는 쿠버넷을 도커 데스크톱으로 변경한 후, 저의 문제는 해결되었습니다.
여기에 이미지 설명 입력

ps: 도커 브라우저에서 쿠버넷을 활성화하지 않은 경우 먼저 활성화하십시오.

Windows 10 Professional에서 실행되는 Docker Desktop에서 kubnetes를 활성화한 후에도 동일한 문제에 직면했습니다.여기 https://www.ntweekly.com/2018/05/08/kubernetes-windows-error-unable-connect-server-dial-tcp-16445-connectex-no-connection-made-target-machine-actively-refused/ 의 지침에 따라 문제를 해결했습니다.요약하자면,

  1. powershell을 admin으로 열고 [Environment]를 실행했습니다.:환경 변수 설정("KUBECONFIG", $HOME + ".kube\config", [환경 변수 대상]:: 기계).
  2. 다음으로 저는 도커 데스크톱 설정으로 가서 큐브를 재설정했습니다.그것으로 해결되었습니다.여기에 이미지 설명 입력

제 상황에서는 스터디를 위한 간단한 시나리오로 도커 데스크톱을 사용하는 창에 있습니다. 하지만 다음과 같은 경우가 있습니다.

20.10 이상의 도커 버전에서는 쿠버넷이 설치되어 제공됩니다.그렇다면 미니큐브와 같은 클러스터 어드민을 설치할 필요가 없습니다.그런 다음 Docker Desktop 구성에서 kubernetes를 활성화해야 할 경우.예:

Docker Desktop: settings > kubernetes > 섹션 내의 상자를 선택한 다음 Kubernetes Cluster 다시 시작을 클릭합니다.

우리가 이렇게 할 때, 도커는 쿠버네티스를 제대로 작동시키는 데 필요한 모든 것을 제공합니다.

참조자: 블로그

언급URL : https://stackoverflow.com/questions/50490808/unable-to-connect-to-the-server-dial-tcp-18080-connectex-no-connection-c

반응형