J'ai installé un cluster Kubernetes local à l'aide de minikube en suivant les instructions ici .
Je suis sous mandataire d'entreprise. Par conséquent, j'ai défini les vars env http_proxy et https_proxy. Une fois le cluster démarré après minikube start
commande J'ai également ajouté la valeur de minikube ip
à la variable env no_proxy. Cependant, kubectl ne peut toujours pas se connecter au cluster.
ubuntu@ros-2:~$ kubectl -v=7 get pods
I0105 10:31:47.773801 17607 loader.go:354] Config loaded from file /home/ubuntu/.kube/config
I0105 10:31:47.775151 17607 round_trippers.go:296] GET https://192.168.42.22:8443/api
I0105 10:31:47.778533 17607 round_trippers.go:303] Request Headers:
I0105 10:31:47.778606 17607 round_trippers.go:306] Accept: application/json, */*
I0105 10:31:47.778676 17607 round_trippers.go:306] User-Agent: kubectl/v1.5.1 (linux/AMD64) kubernetes/82450d0
I0105 10:31:47.783069 17607 round_trippers.go:321] Response Status: in 4 milliseconds
I0105 10:31:47.783166 17607 helpers.go:221] Connection error: Get https://192.168.42.22:8443/api: Forbidden port
F0105 10:31:47.783181 17607 helpers.go:116] Unable to connect to the server: Forbidden port
Je suppose que c'est parce que kubectl n'est pas au courant des paramètres no_proxy. Une simple boucle vers le cluster passe bien.
ubuntu@ros-2:~$ curl -v -k https://192.168.42.22:8443/api
* Hostname was NOT found in DNS cache
* Trying 192.168.42.22...
* Connected to 192.168.42.22 (192.168.42.22) port 8443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Request CERT (13):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using ECDHE-RSA-AES128-GCM-SHA256
* Server certificate:
* subject: CN=minikube
* start date: 2017-01-04 16:04:47 GMT
* expire date: 2018-01-04 16:04:47 GMT
* issuer: CN=minikubeCA
* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
> GET /api HTTP/1.1
> User-Agent: curl/7.35.0
> Host: 192.168.42.22:8443
> Accept: */*
>
< HTTP/1.1 401 Unauthorized
< Content-Type: text/plain; charset=utf-8
< X-Content-Type-Options: nosniff
< Date: Thu, 05 Jan 2017 10:33:45 GMT
< Content-Length: 13
<
Unauthorized
* Connection #0 to Host 192.168.42.22 left intact
Des idées pour résoudre le problème?
A corrigé cela. Le correctif consistait à avoir également les détails no_proxy dans NO_PROXY.
export NO_PROXY=$no_proxy,$(minikube ip)
Sujet pertinent . J'espère que cela sera utile à quelqu'un.