什么是 minikube 附加组件?

What is a minikube Add-On?

我已经完成了 my first Kubernetes tutorial

接近尾声时,本教程介绍了“附加组件”的概念——例如,您可以通过 运行ning

安装 metrics-server 附加组件
$ minikube addons enable metrics-server

这些插件是什么?它们是与 minikube 特别相关的功能,还是可以与任何 kubernetes 集群一起使用,minikube addons 只是一些语法糖,指向一些可以做任何事情的 shell 脚本?

换句话说,当我 运行

时幕后发生了什么
$ minikube addons enable some-add-on

是否所有附加组件都以相同的方式启用(比如,也许它们创建部署?)——或者不同的附加组件会根据其功能以不同的方式安装吗?

我主要是想了解程序员如何自己扩展 kubernetes。当我寻找这方面的文档时,我发现任一附加组件列表 I can use (which point to add-ons being more than a minikube thing), or very broad documentation on ways to extend kubernetes 都没有按名称提及“附加组件”。

What are these add-ons? Are they a feature that's specifically related to minikube

是的,这是 Minikube 特有的。

Kubernetes 是一个容器编排器。它通常安装在具有大量服务器的环境中,例如AWS 或 GCP 等云提供商。 Kubernetes 不能孤立地工作,它具有抽象性并且需要来自外部的真实基础设施。

一些示例:

  • 负载均衡器是您的应用流量到达的途径
  • 虚拟机或物理机,例如当您想要自动缩放时使用更多节点扩展您的集群。
  • 磁盘卷,节点上的本地卷,或通过网络协议存储。

在云环境中,例如Amazon Web Services,这些东西将与其他 AWS 服务一起提供,例如Elastic Load Balancer, EC2 virtual machines or Elastic Block Storage. Other providers like e.g. RedHat OpenShift, specialized on Kubernetes for on-prem environments has other ways to provide these resources, e.g. via VMWare vSphere

Minikube 专用于本地计算机上的 运行 Kubernetes,并且允许您像在具有许多服务器的环境中一样使用 Kubernetes,它需要模仿这些功能,例如Persistent Volumes.

使用本地机器

您可以使用此命令查看 Minikube 附加组件:

minikube addons list