Helm是Kubernetes的包管理员。借助Helm,我们可以非常方便地将应用程序,工具和数据库(如MongoDB,PostgreSQL,WordPress和Apache Spark)部署到我们自己的Kubernetes集群中。以下简要介绍如何将Helm用于IBM Cloud Container服务。
“Helm帮助我们管理Kubernetes应用程序。Helm Charts帮助我们定义,安装和升级更复杂的Kubernetes应用程序。图表很容易创建,版本,共享和发布,所以开始使用Helm、并停止复制和粘贴的疯狂。最新版本的Helm由CNCF维护。“
我们可以通过调用像“helm install stable / mongodb
”这样的命令来轻松地安装应用程序。也可以在通过YAML配置文件安装应用程序之前配置应用程序。
Kubernetes社区提供了稳定的Helm图表的策划目录。另外,IBM还为Db2,MQ等提供了图表。
下面是如何在IBM Cloud上将MongoDB部署到Kubernetes 的简单示例。
首先,我们需要将Bluemix CLI配置为针对我们的Kubernetes集群,并且我们需要在开发机器上安装Helm。
bx login -a https://api.ng.bluemix.net
bx target --cf
bx cs init
bx cs cluster-config mycluster
set environment variable: export KUBECONFIG=...
bx cr login
helm init
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
接下来,我们可以使用以下命令安装Kubernetes应用程序:
helm install --name my-tag stable/mongodb
如果删除所有,执行:
helm delete my-tag
要找出IP地址和端口,运行下面命令:
bx cs workers mycluster
kubectl get svc
kubectl get svc my-service
以上操作需要我们有一个付费账号、免费帐户不支持持续卷。作为解决方法(不是用于生产),我们可以在工作节点上使用磁盘空间。在config.yaml中为MongoDB运行'kubectl create -f config.yaml'。
kind: PersistentVolume
apiVersion: v1
metadata:
name: mongo-simple-mongodb
namespace: default
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/tmp/data"
在此之后,我们可以看到在Kubernetes仪表板(“kubectl代理”)上工作的一切。