Minikube 入门介绍

在云原生应用的开发中,离不开在开发和测试时可以使用的 Kubernetes 。Minikube 是一个常用的在本地运行的 Kubernetes,在开发和测试中非常实用。本文将介绍 Minikube 的基本用法。

Minikube 的安装很简单。在 Windows 上有安装包,macOS 上直接使用 Homebrew 安装即可,Linux 上可以直接下载二进制文件、Debian 包或 RPM 包。安装文件都可以从 GitHub 上下载。

安装完 Minikube 之后,使用 minikube start 命令可以直接启动 Kubernetes。Minikube 入门介绍_第1张图片

Minikube 可以运行在容器和虚拟机中,也可以直接运行。前两种情况需要特定的软件的支持,称为驱动器。下表给出了不同的操作系统上,Minikube 支持的驱动器的类型。其中两个对勾表示推荐使用,一个对勾表示可以使用。Minikube 会根据当前操作系统的状态,自动选择最适合的驱动器。如果没有的话,会提示你安装。从表中可以看到,Docker在3个操作系统中都是推荐使用的,因此只需要安装了 Docker,其他的就都好办了。通过 --driver 参数可以切换不同的驱动器。比如 minikube start --driver=docker 使用 Docker 作为驱动器。Minikube 入门介绍_第2张图片

在运行 Minikube 时,一个经常遇到的问题是资源不足,导致 Minikube 运行很慢。可以通过 minikube config 来设置CPU核数和内存大小。图中的命令把CPU的核数设置为 3,而内存设置为 4GMinikube 入门介绍_第3张图片

在 Minikube 启动之后,kubectl 被自动配置为访问 Minikube。使用 kubectl 可以与 Kubernetes 交互。

使用 minikube dashboard 命令可以打开Kubernetes Dashboard。Minikube 入门介绍_第4张图片

如果需要访问 Kubernetes 上部署的应用,可以创建类型为 NodePort 或 LoadBalancer 的服务。下面的Nginx服务的类型是NodePort,可以通过 minikube service 命令得到访问该服务的地址。Minikube 入门介绍_第5张图片

对于 LoadBalancer 类型的服务,则要稍微复杂一点。当服务创建之后,它的外部地址的状态会是 Pending,表示处理中。这个时候需要使用 minikube tunnel 命令来打开一个通道。通道打开之后,再查看服务,就可以看到访问的地址了。Minikube 入门介绍_第6张图片

Minikube 支持持久化存储,只需要使用标准的 PersistenceVolumeClaim 即可。Storage class的名称是 standard。创建的PersistenceVolumeClaim 按照正常的方式来使用。下面的命令显示了 Minikube 上的 storage class、persistence volume claim和 persistence volume。Minikube 入门介绍_第7张图片

在使用 Minikube 开发时,经常会需要把本地创建的镜像,在 Minikube 上运行。最简单的做法是让本地的 Docker 客户端,指向 Minikube 中的 Docker 服务器。使用图中给出的 eval $(minikube docker-env) 命令即可。当完成这一步之后,运行 docker build 命令产生的镜像,可以在 Minikube 中直接使用。需要注意的是,minikube docker-env 的设置只在当前命令行终端有效。如果新开终端,需要再次运行该命令。这个命令本质上只是设置了一些环境变量,对 Docker 客户端进行配置。Minikube 入门介绍_第8张图片Minikube提供了非常多的附加组件,完成不同的功能。使用 minikube addons list 命令可以列出来全部可用的组件。使用 minikube addons enable 命令可以启用组件。比如 minikube addons enable metrics-server 可以启用性能指标数据服务器。启用了之后,通过kubectl top node 就可以查看节点的性能。Minikube 入门介绍_第9张图片

当需要访问Minikube上的节点时,使用 minikube ssh 命令即可。

你可能感兴趣的:(docker,linux,java,ubuntu,python)