kubernetes部署环境搭建

本文主要介绍笔者的kubernetes部署环境搭建,其中涉及研发流程、部署流程的设计

  1. docker镜像构建流程:
    1. 阿里云镜像服务:提供了镜像打包(从git下载——>mvn编译——>镜像build)一站服务
    2. auto-config:解决环境隔离
  2. k8s部署流程
    1. Kuboard 是一款免费的 、可视的Kubernetes 管理工具,

镜像构建流程

本文基于阿里云搭建docker构建流程,实现自动化部署流程。

与手工操作相比,存在如下优势:

kubernetes部署环境搭建_第1张图片

【部署流程】

  1. 阿里云镜像服务
    1. 地址:https://cr.console.aliyun.com/cn-shanghai/instances
    2. 功能介绍:搭建了针对java项目的Docker镜像自动化构建平台
      1. 打通git hub等代码管理服务
      2. Docker镜像构建流程
      3. docker镜像服务

kubernetes部署环境搭建_第2张图片

【部署交付内容】

项目中,需要添加antx.properties、Dockerfile及Kuberneter部署脚本

kubernetes部署环境搭建_第3张图片

【mvn编译】 

使用spring-boot-maven-plugin插件编译,主要可以做到

  • 完成工程下所有项目的编译、打包
  • 生成MANIFEST.mf文件
    • Main-Class: org.springframework.boot.loader.JarLauncher;spring自带的启动类(类加载器)
    • spring的类加载器,依赖jar归档
      • Spring-Boot-Classes: BOOT-INF/classes/         start项目的class
      • Spring-Boot-Lib: BOOT-INF/lib/
  • spring的启动类
    • org目录下为spring的启动类

kubernetes部署环境搭建_第4张图片kubernetes部署环境搭建_第5张图片

 

 【maven的build配置】

按作者的项目结构,start项目pom加入如下代码; 其他项目无需引入mvn插件,默认编译打包即可


    
        org-hotel-packages
        
            
            
                src/main/resources
            
        
        
            
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.1.3.RELEASE
                
                    org.hotel.packages.start.ApplicationStart

                
                
                    
                        
                            repackage
                        
                    
                
            
        
    

【Dockerfile】

PS:docker多阶段构建介绍:Docker multi-stage build机制-阿里云开发者社区

FROM maven:3.5.0-jdk-8-alpine AS builder
ADD ./pom.xml pom.xml
ADD ./settings.xml settings.xml
ADD ./student-dal student-dal/
ADD ./student-start student-start/
ADD ./student-web student-web/
ADD config/antx_prod.properties antx.properties
RUN mvn package -s settings.xml -Pprod  -e



# Second stage: minimal runtime environment
From openjdk:8-jre-alpine3.9
# copy jar from the first stage
COPY --from=builder student-start/target/org-student-manage.jar org-student-manage.jar
# run jar
CMD ["java", "-jar", "org-student-manage.jar"]

【部署环境案例说明】

kubernetes部署环境搭建_第6张图片

 kubernetes集群搭建说明

【kubernetes集群安装】

基于 kubespray (opens new window)提供图形化的 K8S 集群离线安装、维护工具

KuboardSpray | Kuboard Spray

【图片来源】离线安装 K8S | Kuboard Spray

kubernetes部署环境搭建_第7张图片


 

【Kubernetes 管理工具】

Kuboard 是一款免费的 、可视的Kubernetes 管理工具,

参考地址: Kuboard | Kuboard

PS:基本涵盖了Kubernetes所有元素的维护

kubernetes部署环境搭建_第8张图片

你可能感兴趣的:(kubernetes,运维,容器)