基于jenkins+kubernetes+harbor+gitlab构建devops平台实战-爱代码爱编程
DevOps是一套完整的运维开发流程,可以实现快速的构建、测试和发布软件,整个流程包括敏捷开发->持续集成->持续交付->持续部署->DevOps,通过 Kubernetes,我们可以实现容器在多个计算节点上的统一调度,可以将容器对接到持久存储、虚拟网络,还可以实现弹性伸缩等,提高了产品的迭代速度。 可以实现如下功能: 多
代码编织梦想
DevOps是一套完整的运维开发流程,可以实现快速的构建、测试和发布软件,整个流程包括敏捷开发->持续集成->持续交付->持续部署->DevOps,通过 Kubernetes,我们可以实现容器在多个计算节点上的统一调度,可以将容器对接到持久存储、虚拟网络,还可以实现弹性伸缩等,提高了产品的迭代速度。 可以实现如下功能: 多
1、什么是Kubernetes Kubernetes是一个全新的基于容器技术的分布式系统支撑平台。是Google开源的容器集群管理系统(谷歌内部:Borg)。 在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。并且具有完备的集群管理能力,多层次的安全防护和准入机制、多
1、docker-compose简介 docker-compose是用来做docker的多容器控制,有了docker-compose,我们可以把所有繁复的docker操作全都一条命令,自动化的完成。 用通俗的语言来说,我们平时操作 docker 还是很原始的一系列动作,你手动使用 docker 的动作可以拆分成。 搜索镜像: docker sear
1、简述 ETCD 及其特点 etcd 是 CoreOS 团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于 Go 语言实现。 特点: 简单:支持 REST 风格的 HTTP+JSON API。 安全:支持 HTTPS 方式的访问。
1、Shell脚本是什么、它是必需的吗 答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务。 2、什么是默认登录shell,如何改变指定用户的登录shell 答:在Linux操作系统,“/bin/bash”
1、Docker安装 Docker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月),EE即企业版,强调安全,付费使用,支持周期24个月。 Docker CE分为stable、test、nightly三个更新频道,每六个月发布一个stable版本(18.09, 19.03, 19.09...)。 1. CentOS安装Docker CE
1、Jenkins安装与环境配置 Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。 官网:Jenkins 官方文档:Jenkins User Documentation 环境要求: 1)机器要求
1、滚动更新简介 当某个服务需要升级时,传统的做法是,先将要更新的服务下线,业务停止后再更新版本和配置,然后重新启动服务。如果业务集群规模较大时,这个工作就变成了一个挑战,而且全部停止了服务,再逐步升级的方式会导致服务较长时间不可用。针对这个问题,k8s提供了滚动更新(rolling-update)的方式来解决上述问题。 滚动更新是针对pod来操作的,
1、传统网站部署流程 2、使用jenkins后网站的部署流程 3、谈谈你对CI/CD的认识 这个问题在面试中也经常被问到,主要考察几个方面: 你对新技术的了解? 你们公司是如何落地的,来我们公司是否可以借鉴? 三个概念: 持续集成CI: 代码合并,构建,部署,测试都在一起,不断的执行这个过程,并对结果进行反馈。通过这个过程,
1、job使用场景 容器按照持续运行的时间可分为两类:服务类容器和工作类容器。 服务类容器通常持续提供服务,需要一直运行,比如http server,mysql db等。工作类容器则是一次性任务,比如批处理程序,完成后容器就退出。 k8s中的的Deployment、ReplicaSet和DaemonSet都用于管理服务类容器,对于工作类容器,可以使用
1、Dockerfile构建自定义Docker镜像 1. docker build工作原理 Docker 在运行时分为 Docker 引擎(也就是服务端守护进程)和客户端工具,Docker 的引擎提供了一组 REST API,被称为 Docker Remote API,而如 docker 命令这样的客户端工具,则是通过这组 API 与 Docker 引
Linux一切皆文件,文件以文本形式存在,可读、可写、可执行(二进制文件)。我们在使用linux的时候,需熟练掌握文本的读取、编辑、筛选。 在linux中,有三个很厉害的文本处理工具,即grep、sed、awk,为我们对linux系统的使用提供了很好的帮助。 一、文本过滤工具grep 1、grep用法 grep即global search reg
1、Dockerfile概述 Dockerfile 是一个用来构建docker镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。 镜像的分层结构: dockerfile基础语法: 2、Dockerfile编写自定义镜像案例 1. 编写系统基础镜像 Do
一、Docker安装Jenkins 1、拉取docker hub上的jenkins镜像 查找docker上的镜像: docker search jenkins 使用的镜像是:jenkinsci/blueocean。 载自己所需要的镜像: docker pull jenkinsci/blueocean 查看是否下载成功: docker ima
一、Jenkins扩展 1、共享库简介 共享库由名称、源代码检索方法(如:SCM)和可选的默认版本定义。该名称应该是一个简短的标识符,因为它将在脚本中使用。 该版本可以是该 SCM 可以理解的任何内容;例如:分支、标签和提交哈希都适用于 Git。您还可以声明脚本是否需要显式请求该库,或者它是否默认存在。此外,如果您在 Jenkins 配置中指定版本,
一、Shell编程核心 1、Shell概述 2、Shell解析器 Linux提供的Shell解析器有: [yyds@hadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh bash和sh的关系: [yyds@had
一、Jenkins简介 1、自动化测试的构建 若由人工触发自动化测试,则存在较多沟通环节,这要求团队的每个成员都遵守相应的流程与操作规范。 而人工的操作,会导致自动化测试的执行不一定准确与及时,即使经过再三强调和定期培训,但由于人员流动或测试人员专注于其他任务,流程的执行依然会大打折扣,很容易遗漏自动化测试的执行。 总而言之,由人来触发某种流程中的
一、数字签名 1、数字签名简介 数字签名就是为了验证在互联网中传输的内容数据是对方签名后发出,并且信息没有被掉包和篡改。 数字签名是基于非对称密钥加密技术与数字摘要技术的应用,是一个包含电子文件信息以及发送者身份,并能够鉴别发送者身份以及发送信息是否被篡改的一段数字串。一段数字签名数字串,包含了电子文件经过Hash编码后产生的数字摘要,即一个Hash
一、OpenShift 平台 1、容器化应用程序 我们一般说的“容器”,都是“Linux容器”。 Linux容器是与系统其他部分隔离开的一系列进程。运行这些进程所需的所有文件都由另一个镜像提供,这意味着从开发到测试再到生产的整个过程中,Linux 容器都具有可移植性和一致性。因而,相对于依赖重复传统测试环境的开发渠道,容器的运行速度要快得多。容器比较
一、Jenkins Pipeline 语法 1、Jenkins Pipeline 简介 Jenkins pipeline (流水线)是一套运行于 jenkins 上的工作流框架,将原本独立运行于单个或者 多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。它把持续提交流水线 (Continuous Delivery Pipeline)的