背景:需要在本地搭建一个k8s的集群,然后将flink部署到k8s集群上面去
这里使用一个快速简洁的方式
ps:看了半天的各种博客,都需要我搞三五台虚拟机来部署集群,可我只想搭建一个测试环境,搞三五台虚拟机代价太大了,所以介绍下面的这种方式
docker desktop
下载docker desktop然后安装,如果遇到问题的话,根据其提示进行设置,这里基本上没有什么问题,无非是WSL上的一些小问题
然后打开设置之后最下面有一个k8s,将第一个勾选上,然后就等待即可非常方便地部署了k8s
helm
这里docker desktop帮我们搞定了k8s的环境,但是helm(k8s的包管理工具)还是需要自己装的,安装的方式很简单,直接去官网把包下下来就好了,下下来并且解压缩之后文件长这样:
然后我们将这里目录加入到环境变量中,这样就能够全局使用helm了
flink
这里使用helm来部署flink任务,首先需要从helm上面找到flink的仓库然后下载到本地
根据官网上的指引,我们需要输入几条指令
$ helm repo add riskfocus https://riskfocus.github.io/helm-charts-public
$ helm repo update
$ helm install --name my-flink --namespace flink riskfocus/flink
而这里,就是本次部署最大的恶心之处
ps:当天第一天接触到k8s和helm,很多指令还不是很熟悉,所以会觉得这个地方是一个很大的坑
坑1
--name
是不存在的?这里我也不是很清楚,如果也遇到了这个问题,那么直接将--name
删除即可
坑2
在helm install
之后,通过本机的localhost:8081
无法访问到flink的服务
这里怪自己,没有认真看这里的NOTES(不够细心啊,警醒自己!)
根据这里的提示还需要小小几步,就是NOTES里面的三个指令,但是win10的坑又一次体现了
首先是没有export指令,那么怎么曲线救国一下呢?
其实这里设置这个环境变量完全没有必要,我们只需要知道POD_NAME的值是什么就行了
所以:
好了, 只需要十分钟,就能够将flink部署到k8s上面去,搭建一个简单的测试环境!
愉快地写java去了!