3.3 KiB
title | description | weight | skip_seealso | aliases | keywords | owner | test | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
minikube | 在 minikube 上配置 Istio。 | 50 | true |
|
|
istio/wg-environments-maintainers | no |
按照文档安装 minikube,为 Istio 与一些基础应用准备足够的系统资源。
前提条件
-
运行 minikube 需要管理员权限。
-
如果要启用秘钥发现服务(SDS), 需要为 Kubernetes Deployment 添加额外的配置。 查阅
api-server
参考文档了解最新的可选参数。
安装步骤
-
安装最新版的 minikube 和 minikube 虚拟机驱动。
-
如果您没有使用默认的驱动,需要配置 minikube 虚拟机驱动。
比如,如果您安装了 KVM 虚拟机,使用如下命令设置 minikube 的
driver
配置:{{< text bash >}} $ minikube config set driver kvm2 {{< /text >}}
-
以 16384
MB
内存和 4CPUs
启动 minikube。这个例子使用了 Kubernetes 1.26.1。 您可以设置--kubernetes-version
的值以指定任意 Istio 支持的 Kubernetes 版本:{{< text bash >}} $ minikube start --memory=16384 --cpus=4 --kubernetes-version=v1.26.1 {{< /text >}}
取决于您使用的虚拟机版本以及所运行的平台,最小内存要求也不同。16384
MB
足够运行 Istio 和 bookinfo。{{< tip >}} 如果您没有足够的内存分配给 minikube 虚拟机,可能出现如下报错:
- image pull failures
- healthcheck timeout failures
- kubectl failures on the host
- general network instability of the virtual machine and the host
- complete lock-up of the virtual machine
- host NMI watchdog reboots
minikube 中有一个不错的方法查看内存占用,即
ssh
到 minikube 虚拟机,然后从命令行运行 top 命令:{{< text bash >}} $ minikube ssh {{< /text >}}
{{< text bash >}} $ top GiB Mem : 12.4/15.7 {{< /text >}}
这里显示虚拟机内全部的 15.7G 内存已占用了 12.4G。这个数据是在一个 16G 内存的 Macbook Pro 13" 中运行着 Istio 1.2 和 bookinfo 的 VMWare Fusion 虚拟机中生成的。 {{< /tip >}}
-
(可选,推荐)如果您希望 minikube 提供一个负载均衡给 Istio,您可以使用 minikube tunnel。 在另一个终端运行这个命令,因为 minikube tunnel 会阻塞的您的终端用于显示网络诊断信息:
{{< text bash >}} $ minikube tunnel {{< /text >}}
{{< warning >}} 有时 minikube 不会正确清理 tunnel network。强制清理使用如下命令:
{{< text bash >}} $ minikube tunnel --cleanup {{< /text >}}
{{< /warning >}}