minikube配置使用代理
如何通過 VPN 或 HTTP/HTTPS 代理使用 minikube
minikube 需要通過 HTTP、HTTPS 和 DNS 協議訪問互聯網。
代理
如果需要使用 HTTP 代理訪問 Internet,則可能需要使用環境變量將代理連接信息傳遞給 minikube 和 Docker:
- HTTP_PROXY - 您的 HTTP 代理的 URL
- HTTPS_PROXY - HTTPS 代理的 URL
- NO_PROXY - 不應通過代理的主機的逗號分隔列表。
這里的 NO_PROXY 變量很重要:如果不設置它,minikube 可能無法訪問 VM 內的資源。minikube 使用兩個 IP 范圍,不應通過代理:
- 192.168.59.0/24:由 minikube VM 使用。可通過以下方式為某些管理程序配置--host-only-cidr
- 192.168.39.0/24:由 minikube kvm2 驅動程序使用。
- 192.168.49.0/24:由 minikube docker 驅動程序的第一個集群使用。
- 10.96.0.0/12:由服務集群 IP 使用。可配置通過 --service-cluster-ip-range
一個重要的注意事項:如果非 Kubernetes 應用程序(例如 Firefox 或 Chrome)需要 NO_PROXY,您可能需要專門將 minikube IP 添加到逗號分隔的列表中,因為它們可能不理解 IP 范圍(#3827)。
示例用法
macOS 和 Linux
export HTTP_PROXY=http://<proxy hostname:port> export HTTPS_PROXY=https://<proxy hostname:port> export NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.59.0/24,192.168.39.0/24minikube start復制
要使導出的變量永久化,請考慮將聲明添加到 ~/.bashrc 或存儲用戶設置的環境變量的任何位置。
視窗
set HTTP_PROXY=http://<proxy hostname:port> set HTTPS_PROXY=https://<proxy hostname:port> set NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.59.0/24,192.168.39.0/24minikube start復制
要永久設置這些環境變量,請考慮將它們添加到您的系統設置中或使用setx
故障排除
無法緩存 ISO… 連接被拒絕
Unable to start VM: unable to cache ISO: https://storage.googleapis.com/minikube/iso/minikube.iso: failed to download: failed to download to temp file: download failed: 5 error(s) occurred:* Temporary download error: Get https://storage.googleapis.com/minikube/iso/minikube.iso: proxyconnect tcp: dial tcp <host>:<port>: connect: connection refused復制
此錯誤表示HTTPS_PROXY 或HTTP_PROXY 定義的host:port 組合不正確,或者代理不可用。
無法拉圖像…Client.Timeout 在等待標題時超出
Unable to pull images, which may be OK:failed to pull image "k8s.gcr.io/kube-apiserver:v1.13.3": output: Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)復制
此錯誤表示在 VM 中運行的容器運行時無法訪問 Internet。驗證您是否將適當的值傳遞給--docker-env HTTPS_PROXY。
x509:由未知機構簽署的證書
[ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.13.3: output: Error response from daemon: Get https://k8s.gcr.io/v2/: x509: certificate signed by unknown authority復制
這是因為 minikube VM 卡在一個代理之后,該代理重寫 HTTPS 響應以包含其自己的 TLS 證書。該解決方案是將代理證書安裝到被復制到虛擬機在啟動時的位置,以便可以進行驗證。
向您的 IT 部門索取相應的 PEM 文件,并將其添加到:
~/.minikube/files/etc/ssl/certs或者
~/.minikube/certs然后運行minikube delete和minikube start。
下載二進制文件:proxyconnect tcp:tls:收到長度為 20527 的超大記錄
提供的值HTTPS_PROXY可能不正確。驗證此值是否指向 HTTP 代理而不是 HTTPS 代理。
虛擬專用網
minikube 需要從主機訪問以下 IP 范圍:
- 192.168.59.0/24:由 minikube VM 使用。可通過以下方式為某些管理程序配置--host-only-cidr
- 192.168.39.0/24:由 minikube kvm2 驅動程序使用。
- 10.96.0.0/12:由服務集群 IP 使用。可配置通過 --service-cluster-ip-range
不幸的是,許多 VPN 配置通過加密隧道將數據包路由到這些目的地,而不是允許數據包進入 minikube 虛擬機。
可能的解決方法
參考鏈接:https://minikube.sigs.k8s.io/docs/handbook/vpn_and_proxy/
總結
以上是生活随笔為你收集整理的minikube配置使用代理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本地kubectl客户端连接远程K8S集
- 下一篇: k8s serviceaccount p