alexellis / arkade

Open Source Marketplace For Developer Tools
https://blog.alexellis.io/kubernetes-marketplace-two-year-update/
MIT License
4.21k stars 286 forks source link

Support issue - user's network timed-out #211

Closed brokenthorn closed 4 years ago

brokenthorn commented 4 years ago

Installing kind tool with arkade is failing with a client timeout:

blackdwarf~(:|✔) % arkade get kind
Downloading kind
Error: Head https://github.com/kubernetes-sigs/kind/releases/latest: \
net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Expected Behaviour

arkade should successfully download kind.

Current Behaviour

arkade fails to download kind, giving a client timeout error as reason.

Possible Solution

Make step optional and force download regardless of HEAD response? Add additional sources for downloading kind and failover?

Steps to Reproduce (for bugs)

Run the following command:

arkade get kind

Context

arkade:
Version: 0.6.10
Git Commit: 08ce44c5a23ff95576f7ccdc7e6ea956a6cbd85e

macOS Catalin 10.15.6 (19G2021)

Your Environment

Kubernetes not enabled in Docker Desktop 2.3.6.0 for macOS.

kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:12:48Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"darwin/amd64"}
Error from server (InternalError): an error on the server ("") has prevented the request from succeeding
uname -a
Darwin blackdwarf.local 19.6.0 Darwin Kernel Version 19.6.0: Thu Jun 18 20:49:00 PDT 2020; root:xnu-6153.141.1~1/RELEASE_X86_64 x86_64
arkade version
Version: 0.6.10
Git Commit: 08ce44c5a23ff95576f7ccdc7e6ea956a6cbd85e
alexellis commented 4 years ago

Hi @brokenthorn this appears to be working as designed. The Go HTTP client appears to be is telling you that you have a networking issue on your side?

I've run run the command myself also on Darwin and it worked first time.

kosmos:~ alex$ arkade get kind
Downloading kind
https://github.com/kubernetes-sigs/kind/releases/download/v0.8.1/kind-darwin-amd64
Tool written to: /Users/alex/.arkade/bin/kind

Run the following to add the (kind) binary to your PATH variable

export PATH=$PATH:$HOME/.arkade/bin/

/Users/alex/.arkade/bin/kind

kosmos:~ alex$ 

Unless there's an issue with arkade or something else you can tell me, perhaps we should close the issue?

alexellis commented 4 years ago

There's also a version override, if that's of use to you? --version v0.8.1 for instance, but I'd encourage you to investigate whatever networking issue that you appear to be having first.

alexellis commented 4 years ago

/set title: Support issue - user's network timed-out

brokenthorn commented 4 years ago

@alexellis, thanks. I'll investigate and report back. I had no idea this was an issue on my network's side... I can also add that I've since tried installing other tools with ark as well and all fail with the same error. Weird!

brokenthorn commented 4 years ago

This is weird indeed! Now it works!

blackdwarf~(:|✔) % arkade get k3sup
Downloading k3sup
https://github.com/alexellis/k3sup/releases/download/0.9.6/k3sup-darwin
Tool written to: /Users/sebastian/.arkade/bin/k3sup

Run the following to add the (k3sup) binary to your PATH variable

export PATH=$PATH:$HOME/.arkade/bin/

/Users/sebastian/.arkade/bin/k3sup

blackdwarf~(:|✔) % arkade get kind
Downloading kind
https://github.com/kubernetes-sigs/kind/releases/download/v0.8.1/kind-darwin-amd64
Tool written to: /Users/sebastian/.arkade/bin/kind

Run the following to add the (kind) binary to your PATH variable

export PATH=$PATH:$HOME/.arkade/bin/

/Users/sebastian/.arkade/bin/kind

The only thing I think I changed is that I deleted all K8s clusters... I installed k3d manually yesterday night and only got to install a cluster. After that I left. Today I deleted that cluster, restarted Docker for Mac and ran arkade get again and suddenly it works!

alexellis commented 4 years ago

No worries. Do take a look at how you can combine several arkade commands for a powerful workflow like these: for openfaas or a docker registry with cert-manager -> https://docs.inlets.dev/#/get-started/quickstart-ingresscontroller-cert-manager