当前位置:   article > 正文

阿里云容器服务ack从零到一部署springboot应用_阿里云kubernetes容器服务 spring boot

阿里云kubernetes容器服务 spring boot

前言

随着业务,及数据爆发增长,很多公司都开始吧应用向云原生迁移,靠自己来运维这一套庞大的k8s应用,实在是有点费劲。所以先来体验一下阿里云这套现成的产品。

一,前期准备

  1. 开通阿里云容器服务kubernetes版ack
  2. 开通容器镜像服务
  3. 准备测试代码

废话不多说,先来开通阿里云容器服务kubernetes版ack。 初学者建议选择按量付费,初步估算了一下半天大概花了50大洋,新用户有1个月的免费体验。

二,创建集群

创建集群注意事项

1.集群的地域和容器镜像的地域一定要在一起,不然后面拉去镜像会有问题。
2.选节点池根据自己的需求来,我选的是最便宜的4h4g通用算力型。

下面贴出我的配置图,仅供参考。

1.集群配置

在这里插入图片描述

2.节点池配置

这里我选的ecs是最低配的,大家可以根据自己的需求来选择

3.组件配置在这里插入图片描述

确认好配置开始创建集群,这里大概需要等十分钟左右

在这里插入图片描述

三,开通容器镜像服务

这里因为我之前就开通了,很简单就不过多介绍了。只需要创建对应的命名空间和镜像仓库即可。jdk也可以直接用开源的仓库的。

在这里插入图片描述

四,设置部署流水线

这里我是直接用的阿里云效这款devops,天然支持了阿里云的k8s部署。上面我贴了代码的demo,因为云效仓库只针对企业用户开源,所以需要大家动动手指把代码贴到云效代码仓库里面去。

项目里面有两个重要的文件,大家根据自己的实际情况可以加以调整
1.dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/vck/vck:11 #jdk,大家仓库没有可以直接用开源的
LABEL maintainer=vck 
ARG active=dev
ENV active ${active}
ADD ./target/demo3-0.0.1-SNAPSHOT.jar demo.jar
ENTRYPOINT ["java", "-jar", "demo.jar","--spring.profiles.active=${active}"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2.yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-${envactive}
  namespace: ${namespace}
spec:
  replicas: ${replicas}
  minReadySeconds: 80
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
  selector:
    matchLabels:
      app: demo-${envactive}
  template:
    metadata:
      labels:
        app: demo-${envactive}
    spec:
      containers:
        - name: demo-${envactive}
          imagePullPolicy: Always
          image: ${IMAGE}
---
kind: Service
apiVersion: v1
metadata:
  namespace: ${namespace}
  name: demo-${envactive}
spec:
  selector:
    app: demo-${envactive}
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
1.创建流水线

代码准备好后就可以开始创建流水线了,按照图示一步一步操作下去即可。

在这里插入图片描述

2.选择流水线模板

选择这个模板就行,可以吧把代码扫描和maven单元测试给去掉,因为这里是做测试就没表保留这两个哈,避免浪费时间。

在这里插入图片描述

3.流水线流程配置
(1).构建docker镜像并推送至镜像仓库

这里分两步,第一是java构建,需要选择对应的jdk版本,我用的是11,大家按照自己代码里面的版本来选择就行。

在这里插入图片描述

(2).镜像构建并推送至阿里云镜像仓库个人版

这里选择之前开通的镜像仓库即可,注意选择对应的仓库。我这里直接写死用1.0,如果修改过代码,记得修改一下,不然是不会生效的

(3).连接到Kubernetes集群

刚进来集群连接是空的,需要新建连接,这里选择容器服务,点击刚刚创建的集群即可。

选择容器服务,ack集群里面可以选到刚刚开通的集群

(4).配置相关的变量

这里需要填充yaml文件里面的变量,注意image需要配置成你们自己仓库地址

在这里插入图片描述

(5).保存运行流水线

ok,这两流水线就配置好了,点击保存并运行。显示部署成功,已经成功了一大半了,继续!

在这里插入图片描述

五,检查部署状态

查看集群部署状态,发现是异常的,不要慌。这是应为k8s集群部署的时候拉取镜像失败了,按照诊断提示去安装一个免密组件即可

在这里插入图片描述
点进去查看事件,顺便诊断一下。其实看日志大概就能知道了,是镜像拉不下来。这里是因为镜像仓库需要授权才行,我们可以按照诊断后的提示去安装一个免密组件,
在这里插入图片描述

六,安装免密组件

具体安装方法可以参考官方文档,超详细,注意个人版只需要实现步骤一即可。

1.安装aliyun-acr-credential-helper组件,tokenMode选择auto。

在这里插入图片描述

在这里插入图片描述

2.配置项acr-configuration设置相关配置,这里我贴出我的配置,注意acr-registry-info这一项没有#号了。

在这里插入图片描述

七,配置路由

安装好插件后再去配置一个路由即可访问我们代码里面的接口咯。这里的域名是自己测试用的,本地配一个host映射即可。

注意添加的ingress的命名空间和刚才部署的服务是同一个哈,不要弄错了

八,端点host映射

配置好后,拿端点ip在本地host文件做一层映射就可以。

在这里插入图片描述
在这里插入图片描述

九,接口测试

这样就可以访问了,大功告成!
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/915607
推荐阅读
相关标签
  

闽ICP备14008679号