记录一下使用阿里云Serverless Kubernetes,部署Spring cloud项目。
Serverless Kubernetes 中创建nacos注册中心,redis应用及Spring boot,dockde教程。
如果不是专业运维人员推荐使用Serverless Kubernetes哈。
非专业人想自己搭建k8s还是有点难度的,会面临很多问题,不建议自建。
前提条件
已创建Serverless Kubernetes集群。具体操作,请参见创建Serverless Kubernetes集群。
Serverless Kubernetes创建就不演示了,自行参考阿里云文档按需求创建集群。
1.这是我创建的Serverless Kubernetes集群图
2.点击集群可以查看详细信息
3.Serverless Kubernetes 中创建nacos注册中心并运行
1.首先我们需要nacos镜像,可以使用公共镜像,也可以使用阿里云个人版免费镜像仓库。
2.我这里使用公共镜像,后面我们在说阿里镜像仓库的使用。
3.要使用公共镜像创建应用的话,集群必须支持公网(SNAT)不然拉不下来镜像(不支持公网可以使用本地镜像仓库)。
1.开始创建nacos应用
步骤1:使用镜像创建
点击集群进入详情-左侧导航栏选择工作负载-无状态进入列表(有状态无状态就不介绍了,自行查看阿里云说明)
步骤2:填写应用基本信息
点击右上角使用镜像创建
备注:副本数代表集群数。 你根据项目而定。
步骤3:容器配置
备注:nacos公共镜像Docker Hub参考
应用资源看项目选择,配置高费用也高哦。呵呵
需要配置环境变量,不然启动会报错,因为没有配置数据源。
健康检查 生命周期啥的 需要就配置。
步骤4:高级设置
点击创建服务:
1、不需要开公网访问的话 类型可以选择虚拟集群ip
2、然后nacos创建就OK了。
3、在无状态列表中我们就可以看到刚刚创建的nacos应用了。
4、点击详情可以查看运行日志等等。
5、启动没有问题,集群左侧网络-服务。可以看到nacos服务。
支持公网访问的话 启动成功可以使用ip+端口/nacos/index.html#访问注册中心
默认账号密码都是nacos/nacos
2.开始创建redis应用
跟刚刚步骤一样的,只是镜像不一样,redis创建有状态的。
步骤参考上面步骤
镜像参考:
redis公共镜像https://hub.docker.com/search?q=redis&type=image3.开始创建Spring boot应用
前提条件
已有docker仓库
本教程使用阿里云个人免费版镜像,有钱的话也可以使用企业版。
使用流程:
- 创建个人版镜像仓库
- 创建命名空间(个人版只能创建三个,其实够用哈)
3.创建镜像仓库(一个项目创建一个镜像仓库)
这可以选择你的代码源,可以监控代码提交自动创建镜像等。
我的代码源仓库内网的,本教程使用本地仓库。
4.上传镜像到我们镜像仓库,创建完仓库会有操作指南使用命令可以上传(上传完镜像可以时直接在Serverless Kubernetes上部署。步骤跟上面一样)。
本教程使用idea+Alibaba Cloud Toolkit插件自动打包镜像上传至阿里云个人镜像仓库。
使用步骤
步骤1:idea开发工具安装Alibaba Cloud Toolkit插件
步骤2:配置alibaba cloud
1.配置阿里账号,使用阿里云AccessKey。
2.配置docker
项目根目录下创建Dockerfile文件
# 基础镜像
FROM openjdk:8-jdk-alpine
# author
MAINTAINER zjc
# 复制jar文件到路径
ADD /target/useri-1.0-SNAPSHOT.jar useri-1.0-SNAPSHOT.jar
# 时间
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
# 启动服务
ENTRYPOINT ["java","-jar","/useri-1.0-SNAPSHOT.jar"]
# 暴露端口
EXPOSE 8800
步骤3:使用Alibaba Cloud Toolkit自动打包上传镜像至阿里云个人镜像仓库
执行run
执行到这里表示已上传完成。
可以去阿里云镜像仓库查看是否上传OK了
点击仓库进入详情就可以看到
仓库有镜像代表我们刚刚上传是OK的。
4.Serverless Kubernetes 中部署我们刚刚打包的user服务
具体步骤参考nacos步骤,只是镜像不一样,其他步骤都一样的。
gateway网关、其他服务也是一样哦,我这就不演示了。
5.目前这还是需要手动部署、我们可以使用触发器实现自动拉取镜像部署,也可以使用
Alibaba Cloud Toolkit自动部署在集群里。
本来我想使用Alibaba Cloud Toolkit插件自动部署的,由于各种权限我没有,要叫领导
开权限。我就使用触发器了
镜像仓库详情左侧有触发器,点进去创建
注意:镜像仓库触发器是配合Serverless Kubernetes集群使用的
触发器有多种模式自己选择哦
触发器url指的是集群中对应的服务触发器url。
如果想配置域名的话。 在集群网络-路由创建即可。
不懂的可以加Q:953262399
第一次写博客,写的不好见谅。对你有帮助的话点个赞吧!