2017-01-05 6 views
3

Я установил локальный кластер Kubernetes с помощью минибука в соответствии с инструкциями here.kubectl за прокси

Я под корпоративным прокси. Поэтому я установил http_proxy и https_proxy env vars. После запуска кластера после команды minikube start я также добавил значение minikube ip в no_proxy env var. Однако все же куветтек не может подключиться к кластеру.

[email protected]:~$ 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 

Я предполагаю, что это связано с тем, что kubectl не знает настройки no_proxy. Простой скручивание в кластер проходит через штраф.

[email protected]:~$ 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 

Любые идеи о том, как исправить это?

ответ

13

Исправлено. Исправление должно было содержать детали no_proxy в NO_PROXY.

export NO_PROXY=$no_proxy,$(minikube ip) 

Relevant thread. Надеюсь, это кому-то будет полезно.

+0

Для тех, кто дополнительно застрял над ужасным клиентом Cisco AnyConnect VPN, который помогает маршрутизировать все запросы, идущие на «192.168.99.100», в черную дыру, так что любое включение этого IP-адреса в «no_proxy» не будет работа - вы также можете увидеть это решение: https://github.com/kubernetes/minikube/issues/1099#issuecomment-307154111 –