普元Devops-在云主机上拉取harbor的docker镜像并部署

2024-08-30 20:12

本文主要是介绍普元Devops-在云主机上拉取harbor的docker镜像并部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 前言

本文讲解如何从普元Devops配置构建,从而实现在云主机上拉取Docker镜像,然后运行Docker容器,实现云主机的Docker部署。

2 主要步骤说明

首先,我们有一个Devops服务器,还有一个云主机服务器,还有一个harbor服务器。

Devops服务器: 安装有普元Devops、Jenkins。需要配置SSH rsa公私钥,然后将公钥传到云主机服务器上,从而实现devops服务器可以无密码访问云主机服务器。

Harbor服务器:安装harbor,在harbor上已经上传了项目镜像。

云主机服务器:需要安装Docker,ansible 。

ansible是一个自动化运维工具,Devops发送命令到云主机服务器运行ansible脚本,从而实现容器部署。

3 Devops服务器安装devops和jenkins

安装普元Devops和jenkins的步骤,我就不赘述了。有机会的话,我会再写一个文档来描述。

这里写这一节,只是提示各位同学,Devops服务器上需要先安装普元Devops和jenkins。

4 Devops服务器配置无密码登录云主机

这个就是设置SSH的rsa_id,具体的操作方法可以看我的文章:《CentOS实现服务器A无密码SSH访问服务器B》

5 云主机安装ansible

这个很简单,执行两条命令即可

yum -y install epel-releaseyum -y install ansible

6  云主机上配置daemon.json

云主机需要从harbor服务器上拉取代码到云主机。

我自己配置的harbor服务器,暴露的协议肯定是http的,而不会是 https的。

云主机需要再deamon.json中配置如下:

{"insecure-registries": ["harborIP:harborPort"],"registry-mirrors": ["https://jtyt9xqw.mirror.aliyuncs.com"]
}

这样,在拉取镜像的时候才会采用http协议拉取。

7 Devops创建 主机容器部署 的构建

先插一句,要想做这一步,Devops中需要创建项目、组件、主机资源、Harbor镜像服务等等,这些我这里就不赘述了,假设已经配置好这些了。关于这些配置的操作,我以后有机会再写文章描述吧。

在普元devops中,项目中 -- 集成 -- 构建。

在这个页面右侧找到创建构件定义按钮

点击后打开创建构件的页面,填写内容如下:

名称:随便写

构建定义模板:我选择了空模板

组件:这个组件是普元Devops的一个功能,根据我的理解是为了将构建、镜像服务等信息关联起来。这里的组件01是我之前已经创建好的,直接选择即可。

然后点击确定。

之后看到一个空白的任务列表,点击+按钮,添加一个“主机容器部署”任务

然后在部署类型的任务重,选择“主机容器部署”

然后点击确定,之后就看到任务列表中多了一项“主机容器部署”的任务,然后就可以针对这个任务进行操作了。

组件名称,必须选择。

镜像信息,就是从哪个镜像仓库拉取镜像,这里的simple2是我在harbor服务器上配置的镜像,关于harbor服务器怎么安装和配置,我这里就不赘述了,以后有时间我写一个文章来说明吧。

资源的意思就是云主机,我这里选择的是我配置好的云主机:82服务器,在devops中如何维护主机服务器,以及主机服务器如何实现无密码ssh访问,这里不赘述了,以后有时间单独写个文章。

容器配置,这些都是docker容器相关的信息,我就不赘述了。

这些都配置好后,点击保存。

然后就可以执行构建了。

8 执行构建

点击执行构建按钮,执行一段时间后,在82服务器上检查是否启动成功了容器。看到simple2容器启动,就说明成功了。

9 遇到的坑

我刚刚写的一条条的很简单,但基本执行中是一步一个坑。

* 需要先配置好项目、配置镜像仓库、配置资源、创建组件。这些就不废话了,基本的Devops操作。

* 需要安装Harbor服务器。

* Devops服务器要可以ssh无密码访问云主机。否则,Devops服务器怎么可能让云主机执行容器部署的docker命令呢。

* Devops服务器和云主机上需要安装 ansible。这个是一个运维工具

* 云主机需要可以拉取Harbor服务的镜像。这就涉及到 http协议问题、docker登录镜像仓库等问题。。

目前想到的就这些问题吧,我感觉每一条都是一个单独文章。各位同学在执行中慢慢摸索吧。

总之,并不是难,而是坑太多,每个坑都不难,一堆坑就费劲了。

出门就是坑,坑坑不一样。

这篇关于普元Devops-在云主机上拉取harbor的docker镜像并部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121815

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4