(已弃用)使用 Helm 在 Kubernetes 群集上部署容器

提示

有关使用 Azure Kubernetes 服务的本文更新版本,请参阅在 Azure Kubernetes 服务 (AKS) 中使用 Helm 安装应用程序

警告

Azure 容器服务 (ACS) 正在被弃用。 将不会向 ACS 添加任何新特性或新功能。 所有 API、门户体验、CLI 命令和文档均已标记为“已弃用”。

2017 年,我们推出了 Azure Kubernetes 服务 (AKS),以简化 Kubernetes 的管理、部署和操作。 如果使用 Kubernetes 业务流程协调程序,请于 2020 年 1 月 31 日之前迁移到 AKS。 若要开始,请参阅迁移到 Azure Kubernetes 服务

有关详细信息,请参阅 Azure.com 上的 Azure 容器服务弃用声明

Helm 是一种开放源打包工具,有助于安装和管理 Kubernetes 应用程序的生命周期。 与诸如 pt-get 和 Yum 的 Linux 包管理器类似,Helm 用于管理 Kubernetes 图表,这些图表是预配置的 Kubernetes 资源包。 本文演示了如何在 Azure 容器服务中部署的 Kubernetes 群集上使用 Helm。

Helm 具有两个组件:

  • Helm CLI 是在计算机上在本地或在云中运行的客户端

  • Tiller 是在 Kubernetes 群集上运行并管理 Kubernetes 应用程序生命周期的服务器

先决条件

Helm 基础知识

若要查看有关安装 Tiller 并向其部署应用程序的 Kubernetes 群集的信息,请键入以下命令:

kubectl cluster-info 

kubectl cluster-info

安装好 Helm 后,通过键入以下命令在 Kubernetes 群集上安装 Tiller:

helm init --upgrade

安装成功完成后,将看到如下输出:

Tiller 安装

若要查看在存储库中可用的所有 Helm 图表,请键入以下命令:

helm search 

将看到如下输出:

Helm 搜索

若要更新图表以获取最新版本,请键入:

helm repo update 

部署 Nginx 入口控制器图表

若要部署 Nginx 入口控制器图表,请键入单个命令:

helm install stable/nginx-ingress 

部署入口控制器

如果键入 kubectl get svc 以查看在群集上运行的所有服务,则会看到 IP 地址已分配给入口控制器。 (工作分配正在进行时,可以看到 <pending>。完成需要几分钟时间。)

分配好 IP 地址后,导航到外部 IP 地址的值,查看 Nginx 是否在后端运行。

入口 IP 地址

若要查看在群集上安装的图表列表,请键入:

helm list 

可以将命令缩写为 helm ls

部署 MariaDB 图表和客户端

现在部署 MariaDB 图表和 MariaDB 客户端以连接到数据库。

若要部署 MariaDB 图表,请键入以下命令:

helm install --name v1 stable/mariadb

其中,--name 是用于发布的标记。

提示

如果部署失败,运行 helm repo update,并重试。

若要查看在群集上部署的所有图表,请键入:

helm list

若要查看在群集上运行的所有部署,请键入:

kubectl get deployments 

最后,若要运行 Pod 以访问客户端,请键入:

kubectl run v1-mariadb-client --rm --tty -i --image bitnami/mariadb --command -- bash  

要连接到客户端,请键入以下命令,将 v1-mariadb 替换为部署名称:

sudo mysql –h v1-mariadb

现在可以使用标准 SQL 命令创建数据库、表等。例如, Create DATABASE testdb1; 创建一个空数据库。

后续步骤

  • 有关管理 Kubernetes 图表的详细信息,请参阅 Helm 文档