嗨 同学!准云原生应用开发流程了解一下

作者 : 徐良永

目录

① Docker开启远程访问

② Eclipse配置Maven配置

③增加Dockerfile文件

④打镜像 推送到镜像仓库

⑤K8s编排

嗨 同学!准云原生应用开发流程了解一下_第1张图片

前言

下面的例子需要做如下准备:

开通阿里云容器镜像服务 

创建一个springboot项目 版本2.0+

需要一台安装了docker ce 18+ 的机器

安装好eclipse

1. docker开启远程API

以 centos7举例

安装docker ce 18.09.8 略

① 修改docker配置文件

vim/usr/lib/systemd/system/docker.service

② 将ExecStart这一行后面加上 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

改完后如下所示

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

③ 重新加载配置文件 

systemctldaemon-reload

④ 启动docker

systemctlstart docker

⑤ 检查2375端口是否监听

netstat-anp|grep2375

⑥ 输入 curl 127.0.0.1:2375/info 显示一大堆信息,证明远程api就弄好了

⑦ 登录docker

dockerlogin [email protected] registry.cn-hangzhou.aliyuncs.com

这里可以自己申请阿里云容器镜像服务

2.Eclipse 配置 和 maven配置

 Eclipse配置

选中项目,右击选择 run as --》maven build... 弹出如下窗口


嗨 同学!准云原生应用开发流程了解一下_第2张图片

选择environment --》new 弹出窗口


嗨 同学!准云原生应用开发流程了解一下_第3张图片

填入

Name:DOCKER_HOST

Value: tcp://10.12.52.231:2375 (上一节中的docker ip port)

点击OK

然后点击 Apply


 Maven配置

在pom.xml文件中添加 pingin


  com.spotify

  dockerfile-maven-plugin

  1.4.7

  

 [email protected]

 12345678

    registry.cn-beijing.aliyuncs.com/xuly_docker_hub/imgcloud-file-service 

    ${project.version}

    

      target/${project.build.finalName}.jar

    

  

3. 增加Dockerfile文件

在项目根目录下增加Dockerfile文件,也可以根据项目需要设置环境变量 安装插件等等


内容如下

FROM java:8

ARG JAR_FILE

ADD ${JAR_FILE} app.jar

RUNbash -c 'touch /app.jar'

EXPOSE 8800

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]



4. 打镜像并push到镜像仓库

选中项目,右击选择 run as --》maven build... 弹出如下窗口

嗨 同学!准云原生应用开发流程了解一下_第4张图片

在Goals填入package  dockerfile:build dockerfile:push

点击 ‘Run’



控制台输出:


嗨 同学!准云原生应用开发流程了解一下_第5张图片

测试成功


5. K8S编排


这里不展开讲了

只说一下大概的过程

6.1 创建POD,在POD中连接我们创建的镜像  

  pod.yaml

嗨 同学!准云原生应用开发流程了解一下_第6张图片

6.2 创建 deployment,用于管理扩容缩容 升级 回滚等

嗨 同学!准云原生应用开发流程了解一下_第7张图片


6.3 创建Service 将POD镜像服务发布,服务会自动注册到kube-dns

嗨 同学!准云原生应用开发流程了解一下_第8张图片

总结:

到此为止,从开发--》打镜像--》发布镜像--》下载镜像--》k8s编排运行 整个流程就走通了

在开发环境中,这一波操作是ok的,能够让项目的新feature快速集成测试

如果要在严谨些,可以在提交代码后触发 :如下

提交代码--》打镜像--》发布镜像--》下载镜像--》k8s编排运行

对k8s有兴趣可以看这篇文章三小时学会Kubernetes:容器编排详细指南

嗨 同学!准云原生应用开发流程了解一下_第9张图片

更多精彩内容

请关注公众号

猛戳左边二维码

了解更多哦

你可能感兴趣的:(嗨 同学!准云原生应用开发流程了解一下)