通过helm在k8s上部署spark(伪集群版)

全栈工程师开发手册 (作者:栾鹏)
架构系列文章


首先要求你的k8s支持helm。阿里云自带的k8s已经包含了对helm的支持。关于服务器k8s的部分这里不讨论,我们考论如何用一个已经好的k8s来进行部署spark。

安装配置 kubectl 和 Helm CLI

在本地计算机上安装和配置 kubectl。

参见https://blog.csdn.net/luanpeng825485697/article/details/80862581文章中安装kubectl

在本地计算机上安装 Helm。

安装方法,参见https://github.com/helm/helm/blob/master/docs/install.md?spm=a2c4g.11186623.2.6.Qr9c2B&file=install.md

本地有了kubectl和helm以后,我们就可以来在k8s上部署spark了。

配置 Helm 的 Repository。这里我们使用了阿里云容器服务提供的 Charts 存储库。

helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
稍等一会,再通过下面的命令查看helm的客户端和服务器端
helm version

helm repo add incubator https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/
helm repo update

通过helm安装官方spark

helm search spark   查找所有可用的spark应用
kubectl create ns cloudai-2
helm install --name cloud-spark --namespace cloudai-2 aliyun/spark

如果安装出错了可以删除charts
helm delete --purge cloud-spark

通过helm自定义安装spark

上面安装的spark将自动部署三个pod,部署配置可能不能满足我们的要求,我们可以自定义配置来安装

首选下载hlem应用。

helm fetch aliyun/spark

解压后修改values.yaml文件
修改vlaue.yaml文件中

ServiceType: NodePort

在Master下添加

NodePort: 31461

修改templates/spark-master-deployment.yaml文件中
为master服务修改为

spec:
  ports:
    - port: {{ .Values.Master.ServicePort }}
      targetPort: {{ .Values.Master.ContainerPort }}
      nodePort: {{ .Values.Master.NodePort }}
  selector:
    component: "{{ .Release.Name }}-{{ .Values.Master.Component }}"
  type: {{ .Values.Master.ServiceType }}

最后安装本地文件夹就可以了

helm install --name cloud-spark --namespace cloudai-2 spark
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾讯AI架构师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值