项目如何简单的使用pass平台部署服务

目录

前言:

一:Pass平台的优势

二:Pass平台的相关要素

三:docker|jenkins\k8s\pass\git之间关系

四:项目如何使用pass

五:pass平台常规操作

5.1应用重启

5.1.1定位到命名空间下的容器项目

5.1.2服务重启

5.2日志查看

5.2.1 pass平台查看日志

5.2.2 splunk查看日志

5.3页面增加项目环境变量

5.4查看项目暴漏ip

5.5新增登录用户

5.6更改configmap配置文件

六:pass平台常规使用问题

6.1项目部署报错containers with...

6.2 jenkins部署报错:no objects...

6.3 Scaled up relica set pass-...

七:如何流水线构建pass平台项目

7.1pass平台维护基础配置

7.1.1F5配置

7.1.2维护镜像仓库

7.1.3创建项目以及命名空间

7.1.4创建应用管理员用户

7.2jenkins新增流水线

7.2.1 新增流水线任务

7.2.2jenkins常规变量配置

7.2.3构建触发器等配置

7.2.4配置流水线


前言:

关于k8s基础应用、服务器集群、ui页面可根据原厂提供操作文档进行搭建,本文只描述在此基础上进行如何项目部署、服务升级

一:Pass平台的优势

我们为什么要使用pass平台

 pass平台主要是解决软件资源(中间件、运行环境)的快速供给、以及快速部署的问题;

其次就是保证生成环境代码的运行环境(也就是镜像)和测试环境保持一致,以防服务器等问题引起部署问题、或者生产问题。

二:Pass平台的相关要素

容器与虚拟机:

1.容器运行时一个进程,与其他容器共享主机的内核,非常轻量级,虚拟机运行时是一个完整的操作系统

2.docker基本组件:

docker镜像:用户创建docker容器的模板,基于一个image可以快速部署的容器;

docker容器:镜像运行的实体,每一个容器相当于一个完整的linux系统;

docker仓库:存放镜像的服务器,jenkins打镜像时,就是往仓库进行build之后的push;

3.k8s

核心就是调用、调度,负责容器运行,其次还有管理服务器容器资源、网络访问、存储、安全等

node:常规的pod,具体的服务、进行管理

rancher:k8s的管理平台页面,ui页面进行常规项目管理

三:docker|jenkins\k8s\pass\git之间关系

1.docker镜像,依赖于远程git代码

3.jenkins负责执行脚本,编译代码、生成2dcker镜像,并传harbor仓库,并将容器node配置推送给k8s,进行初始化项目

4.根据配置调度资源构建项目

5.pass依赖的运行环境依赖于docker镜像

TODO后续完善文档

四:项目如何使用pass

简单点就是在项目中,新建一个脚本文件夹,通过脚本和jenkins完成构建服务:

包括:生成镜像、上传镜像、生成部署文件、部署服务;

例如脚本如下:

dockerfile:形成镜像配置以及准备jar以及启动jar命令

template:部署文件,pod申请的资源,例如:cpu\内存\pod\负载\健康检查等

build.sh :mvn依赖clean、install

create:对于构件中的参数,在脚本中自动替换以及生成最终的templat部署文件

getversion:生成镜像id

jenkinsfile:jenkins构建服务执行脚本(执行流程,打镜像、上传、加载map、替换变量、k8s部署等总体流程)

1.dockfile:
FROM IP:端口号/public/jdk-monitor:1.8.0COPY ./项目名/target/jar包名.jar /app/项目名/service/EXPOSE 8080
WORKDIR /app/项目名/service/
CMD java -javaagent:/jmx-exporter/jmx_prometheus_javaagent-javaagent-0.16.1.jar=6060:
/jmx-jmxexporter/prometheus-jmx-config.yaml-jar ${JAVA_ARGS} ${JAVA_OPTS} /app/项目名/service/jar包.jar--spring.config.location=/app/项目名/service/conf2.build.sh
#!/bin/bash
mvn clean install3.getversion:以git提交代码唯一值生成镜像id
#!/bin/bash
#接受变量
paths=$1
name=$2
id=$3
files=$(ls $paths)ver= git reflog | head -n 1 | awk '{print $1}'
for file in $files
doif [ "${file##*.}" = "jar" ];thenstr = ${file#${name}-*}version = ${name}-${id}-${ver}echo $versionfi
done4.create-configmap:替换变量,生成最终部署文件,以及生成configmap并上传服务
#!/bin/bash
#接受变量
PIPELINE_DIR=$1
APP=$2
ENV=$3
NAMESPACE=$4
IMAGE_REGISTRY=$5
PROJECT_NAME=$6
PORT=$7
PROJECT_ACTIVE=$3
BUILD_NUMBER=$9
PROJECT_VERSION=$8mkdir -p ${PIPELINE_DIR}/deploy/${APP}/${ENV}
#开始替换项目配置变量,active
sed -i s/"PROJECT_ACTIVE"/"${PROJECT_ACTIVE}"/g项目名/src/main/resources/application.yml#迁移项目配置文件路径
cp 项目名称/src/main/resource/*.yml /app/项目名/service/#生成k8s configmap,放到指定命名空间项目下
APPLICATION=${APP}/src/main/resources/application.yml
APPLICATION_DEV=${APP}/src/main/resources/application-dev.ymlkubectl -n ${NAMESPACE} crate configmap ${APP} --from-file=${APPLICATION} --from-file=${APPLICATION_DEV} --dry-run=client -o yaml > ${PIPELINE_DIR}/deploy/${APP}/${ENV}
/${APP}-configmap.yaml#接收镜像id,替换部署文件
VERSION = 'sh ${PIPELINE_DIR}/getversion.sh 项目名、target ${APP} ${PROJECT_VERSION} '#开始替换部署文件变量
#镜像仓库地址
sed -i s/"IMAGE_REGISTRY"/"${IMAGE_REGISTRY}" /g ${PIPELINE_DIR}/${APP}/Template.yaml
#项目名称(应用pod)
sed -i s/"PROJECT_NAME"/"${PROJECT_NAME}" /g ${PIPELINE_DIR}/${APP}/Template.yaml
#服务暴漏外部访问端口号
sed -i s/"SERCVER_PORT"/"${PORT}" /g ${PIPELINE_DIR}/${APP}/Template.yaml
#项目名(集群中项目总名称)
sed -i s/"APP"/"${APP}" /g ${PIPELINE_DIR}/${APP}/Template.yaml
#镜像id
sed -i s/"VERSION"/"${VERSION}" /g ${PIPELINE_DIR}/${APP}/Template.yaml
#命名空间
sed -i s/"NAMESPACE"/"${NAMESPACE}" /g ${PIPELINE_DIR}/${APP}/Template.yaml
#环境变量
sed -i s/"DEPLOY_ENV"/"${ENV}" /g ${PIPELINE_DIR}/${APP}/Template.yamlcp ${PIPELINE_DIR}/${APP}/Template.yaml ${PIPELINE_DIR}/deploy/${APP}/${APP}-configmap.yaml
cp ${PIPELINE_DIR}/deploy/${APP}/${ENV}/${APP}-configmap.yaml ${PIPELINE_DIR}/deploy/${APP}/${APP}-项目配置config.yaml

 jenkinsfile:

 

 

 

 

Template.yaml 

 

 

 

 

 

 yaml中文备注:

 

 

 

 

 上述jenkins部署时引用参数含义:

 

五:pass平台常规操作

5.1应用重启

5.1.1定位到命名空间下的容器项目

5.1.2服务重启

5.2日志查看

5.2.1 pass平台查看日志

5.2.2 splunk查看日志

5.3页面增加项目环境变量

5.4查看项目暴漏ip

5.5新增登录用户

5.6更改configmap配置文件

六:pass平台常规使用问题

6.1项目部署报错containers with...

6.2 jenkins部署报错:no objects...

6.3 Scaled up relica set pass-...

七:如何流水线构建pass平台项目

7.1pass平台维护基础配置

7.1.1F5配置

7.1.2维护镜像仓库

7.1.3创建项目以及命名空间

7.1.4创建应用管理员用户

7.2jenkins新增流水线

7.2.1 新增流水线任务

7.2.2jenkins常规变量配置

7.2.3构建触发器等配置

7.2.4配置流水线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1379681.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

云计算之IasS、PasS、SaaS

越来越多的软件,开始采用云服务。 云服务只是一个统称,可以分成三大类。 IaaS:基础设施服务,Infrastructure-as-a-servicePaaS:平台服务,Platform-as-a-serviceSaaS:软件服务,Softw…

pass平台的搭建

Docker容器化部署Rancher CentOS 7.0默认使用的是firewall作为防火墙 查看防火墙状态 firewall-cmd --state ​ 停止firewall systemctl stop firewalld.service ​ 禁止firewall开机启动 systemctl disable firewalld.service ​ 安装rancher docker run -d --restart=unless-…

pass,saas区别

毫无疑问,PaaS与企业在服务与开发过程中的需求密切相关,特别是随着云计算的发展和企业平台化战略的驱动,企业对于云原生应用和全新的应用开发都提出了更高要求,而PaaS作为“承上启下”的中间层也变得越来越重要,更成为…

saas,pass介绍

毫无疑问,PaaS与企业在服务与开发过程中的需求密切相关,特别是随着云计算的发展和企业平台化战略的驱动,企业对于云原生应用和全新的应用开发都提出了更高要求,而PaaS作为“承上启下”的中间层也变得越来越重要,更成为…

Saas、Pass和lass

lass:需要将源码系统署到服务器上才能让大家访问,那服务器从哪来,咱们可以单独买一台实体服务器放家里放公司里,但是这样成本会比较高,而且维护会比较麻烦,所以更方便的方式就是去云服务平台,租…

SaaS,iass 和pass,你知道吗?

一、IaaS IaaS是Infrastructure as a server的缩写,意思是基础设施即服务。又云端公司把IT环境的基础设施建设好,然后直接对外出租硬件服务器或者虚拟机。消费者可以利用所有计算基础设施,包括处理CPU、内存、存储、网络和其它基本的计算资源…

saas和pass的区别

毫无疑问,PaaS与企业在服务与开发过程中的需求密切相关,特别是随着云计算的发展和企业平台化战略的驱动,企业对于云原生应用和全新的应用开发都提出了更高要求,而PaaS作为“承上启下”的中间层也变得越来越重要,更成为…

云计算的服务:Iass,Pass,Sass,Cass,Pass 区别及应用

一、什么是云计算 云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。云计算甚至可以让你体验每秒10万亿次的运算能力&…

​LeetCode解法汇总1572. 矩阵对角线元素的和

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个正…

saas和pass

毫无疑问,PaaS与企业在服务与开发过程中的需求密切相关,特别是随着云计算的发展和企业平台化战略的驱动,企业对于云原生应用和全新的应用开发都提出了更高要求,而PaaS作为“承上启下”的中间层也变得越来越重要,更成为…

Pass框架

/include/llvm/Pass.h Pass框架是LLVM系统中一个重要的部分,Pass类是实现代码优化的主要资源,每个pass是LLVM系统进行转化和优化工作的一个节点,可以完成特定的优化工作,多个pass可共同完成优化和转化。 Pass分类 从代码结构上来…

Android cts all pass 全攻略

android CTS ! Goodbye fails ! Goodbye timeout ! ✿为什么要进行cts测试 Android兼容性测试(CTS)和连带的兼容性定义文档(CDD),是一个确保终端设备与特定版本Android兼容的自管理程序。CTS测试集包含大约24,000个在Android设备上运行的测试用例,这些用例分别针对电话、…

研究生课程笔记:软件包在流行病学中的应用(一)——PASS软件

本博客旨在记录研究生软件包课程,大多为个人后续学习所用,非专业。 可能有理解不当或相对浅薄之处,欢迎批评指正。关键词:功效,样本量,流行病学常见研究类型,PASS软件使用 一、流行病学基础知识…

样本量计算PASS软件提高临床研究可靠性的利器

临床研究样本量的计算是医学研究中非常重要的一步,正确的样本量计算可以提高研究的可靠性和准确性。PASS是一款广泛应用的临床研究样本量计算软件,该软件以其简单易用、功能齐全和准确性高等特点而受到广泛的欢迎和使用。在本文中,我们将详细…

【1289. 下降路径最小和 II】

来源:力扣(LeetCode) 描述: 给你一个 n x n 整数矩阵 grid ,请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为:从 grid 数组中的每一行选择一个数字,且按顺序选出来的数…

​docker复现Nginx配置漏洞​

目录 1.docker环境搭建 2.复现过程 2.1CRLF(carriage return/line feed)注入漏洞 ​编辑 2.2.目录穿越 2.3.add_header覆盖 1.docker环境搭建 1.安装docker Debian系列 apt-get update apt-get install docker.io Redhat系列 yum install docker.io 2.下载并解压dock…

如何用柔和的方法提高QQ浏览器打开网页的速度

首先看图片,已经等了2分钟了 然后我去问了下运营商 竟然只花了几秒… 然后我发现了一个重大事情! 查看了浏览器内存使用情况 找到了这个方法 1、打开浏览器,选择:设置 – Internet选项 – 连接 – 若“拨号和虚拟网络设置”下…

QQ浏览器极速内核关闭“您即将提交的信息不安全”提示

QQ浏览器使用chrome94内核,登陆有些网站会有“您即将提交的信息不安全”提示, 很不方便,查了查帮助最终解决方法如下: 1.开始菜单右键,运行,输入regedit,打开注册表编辑器; 2.找到…

AI:02-基于深度学习的动物图像检索算法的研究

文章目录 一、算法原理二、代码实现三、实验结果四、总结深度学习在计算机视觉领域中的应用越来越广泛,其中动物图像检索算法是一个重要的应用场景。本文将介绍一种基于深度学习的动物图像检索算法,并提供相应的代码实现。 一、算法原理 本算法采用卷积神经网络(Convolutio…

通过OpenTelemetry上报Python-flask应用数据(阿里云)

参考文档 https://help.aliyun.com/document_detail/611711.html?spma2c4g.90499.0.0.34a056ddTu2WWq 先按照 方法一:手动埋点上报Python应用数据 步骤测试上报是否正常。 flas 上报 在 手动埋点上报Python应用数据 的基础上,上报flask应用的数据&#…