(已弃用)使用 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 应用程序生命周期的服务器
先决条件
在 Azure 容器服务中创建 Kubernetes 群集
在本地计算机上安装和配置
kubectl
在本地计算机上安装 Helm
Helm 基础知识
若要查看有关安装 Tiller 并向其部署应用程序的 Kubernetes 群集的信息,请键入以下命令:
kubectl cluster-info
安装好 Helm 后,通过键入以下命令在 Kubernetes 群集上安装 Tiller:
helm init --upgrade
安装成功完成后,将看到如下输出:
若要查看在存储库中可用的所有 Helm 图表,请键入以下命令:
helm search
将看到如下输出:
若要更新图表以获取最新版本,请键入:
helm repo update
部署 Nginx 入口控制器图表
若要部署 Nginx 入口控制器图表,请键入单个命令:
helm install stable/nginx-ingress
如果键入 kubectl get svc
以查看在群集上运行的所有服务,则会看到 IP 地址已分配给入口控制器。 (工作分配正在进行时,可以看到 <pending>
。完成需要几分钟时间。)
分配好 IP 地址后,导航到外部 IP 地址的值,查看 Nginx 是否在后端运行。
若要查看在群集上安装的图表列表,请键入:
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 文档。