[minikube 文档中文翻译] 手册 - Kubectl
手册 - Kubectl
在 minikube 中使用 kubectl
默认情况下,在执行 minikube start 命令后,kubectl
被配置为访问 minikube 内的 kubernetes 集群控制平面。
但是,如果 kubectl 没有在本地安装,minikube 已经包含 kubectl,可以这样使用:
在 minikube 中使用 kubectl
默认情况下,在执行 minikube start 命令后,kubectl
被配置为访问 minikube 内的 kubernetes 集群控制平面。
但是,如果 kubectl 没有在本地安装,minikube 已经包含 kubectl,可以这样使用:
控制流经集群的流量
minikube 允许用户在本地 Kubernetes 集群中创建和测试网络策略。这很有用,因为它允许在应用程序开发期间考虑、构建和评估网络策略,将其作为流程的一个组成部分,而不是在开发结束时“固定”。
关于持久卷 (hostPath)
minikube 开箱即用地支持 hostPath
类型的 PersistentVolume - https://kubernetes.io/docs/concepts/storage/persistent-volumes/。这些 PersistentVolume 映射到正在运行的 minikube 实例(通常是 VM,除非您使用 --driver=none
、--driver=docker
或 --driver=podman
)内的目录。有关其工作原理的更多信息,请阅读下面的动态配置部分。
如何通过 VPN 或 HTTP/HTTPS 代理使用 minikube
minikube 需要通过 HTTP、HTTPS 和 DNS 协议访问互联网。
如果需要 HTTP 代理来访问互联网,您可能需要使用环境变量将代理连接信息传递给 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 driver 的第一个集群使用。
10.96.0.0/12
:由服务集群 IP 使用。可通过 --service-cluster-ip-range 配置
一个重要提示:如果非 Kubernetes 应用程序(例如 Firefox 或 Chrome)需要 NO_PROXY
,您可能需要专门将 minikube IP 添加到逗号分隔列表中,因为它们可能不理解 IP 范围(#3827)。
1 | export HTTP_PROXY=http://<proxy hostname:port> |
要使环境变量持久化,请考虑将声明添加到 ~/.bashrc
或存储用户设置的环境变量的任何位置。
1 | set HTTP_PROXY=http://<proxy hostname:port> |
要持久化设置这些环境变量,请考虑将它们添加到您的系统设置或使用 setx
。
1 | Unable to start VM: unable to cache ISO: https://storage.googleapis.com/minikube/iso/minikube.iso: |
此错误表示 HTTPS_PROXY
或 HTTP_PROXY
定义的 host:port
组合不正确,或者代理不可用。
1 | Unable to pull images, which may be OK: |
此错误表示在 VM 中运行的容器运行时无法访问 Internet。验证您是否将适当的值传递给 --docker-env HTTPS_PROXY
。
1 | [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.13.3: |
这是因为 minikube VM 被隐藏在一个代理后面,该代理重写 HTTPS 响应以包含它自己的 TLS 证书。解决方案是将代理证书安装到启动时复制到 VM 的位置,以便对其进行验证。
向您的 IT 部门索取适当的 PEM 文件,并将其添加到:
1 | ~/.minikube/files/etc/ssl/certs |
或者
1 | ~/.minikube/certs |
然后运行 minikube delete
和 minikube start
。
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 虚拟机。
--host-only-cidr
和 --service-cluster-ip-range
标志选择替代值。Proxies and VPNs | minikube - https://minikube.sigs.k8s.io/docs/handbook/vpn_and_proxy/