精华内容
下载资源
问答
  • 大型企业微服务架构实践与运营》_薛浩_pdf——2019-02-01
  • 构建企业微服务架构 打造下一代基础架构平台 构建微服务架构 云原生三大特征 容器化 为服务 DevOps 让“大象”跳舞 搭建微服务平台 按业务逻辑拆分业务系统 容器化封装应用 消息框架、数据库、故障自...

    注:本文章是自学笔记,根据自己的需求有选择的记录。

    目录

    构建微服务架构

    构建企业级微服务架构

    打造下一代基础架构平台


     

    构建微服务架构

    云原生三大特征

    • 容器化
    • 微服务
    • DevOps

    让“大象”跳舞

    • 搭建微服务平台
    • 按业务逻辑拆分业务系统
    • 容器化封装应用
    • 消息框架、数据库、故障自愈、全链路监控、灰度发布

    日志采集

    两种模式

    • 侵入式(业务代码中实现)
    • 非侵入式(AOP实现)

    日志传输

    无侵入日志埋点通过 Agent 以 AOP 的方式实现数据采集,利用本地缓存 RingBuffer 作为采集节点和消息中间件 Kafka 集群之间的缓冲,然后再利用 Kafka 高效的消息队列 把数据推送给日志数据处理模块。

      

    日志分析处理

    日志数据分析处理采用了流处理技术,选择了 Strom 作为日志数据流处理框架。 Storm 提供了 Kafka Spout 作为消息队列的消费者,从 Kafka 消息队列获取日志数据。 获取到消息后通过 Bolt 任务对原始数据进行一系列的操作(如过滤、统计、分类汇总等), 直到完成所有业务处理逻辑的设定,最后对结果进行分类存储


    分布式数据访问平台

    随着业务的持续增加,持续的分库分表难以为继
    数据库分类
    • Sql
    • NoSql
    • NewSql

    不同数据库的对比

     

     

    数据库选型建议


    消息平台对比


    分布式缓存对比

     

     

    构建企业级微服务架构

    构建基于容器的应用托管和任务调度平台

    应用托管管理

    1. 应用部署

    应用托管平台继承了 Kubernetes 应用部署的便捷性,运维人员只需要通过控制台 配置完成应用部署的基础信息,即可实现一键部署。单纯应用的部署对于托管平台 来说非常简单,正如前面 Kubernetes 应用部署原理分析章节所述,只需要一键即可完 成应用部署和服务发布。在控制台配置好应用的基本信息、部署资源域、扩缩容策略、 存储卷之后,部署人员只需要一键即可完成应用的部署。平台会自动按照容器编排的顺 序完成镜像拉取、容器创建、实例运行等工作。

    2. 故障自愈

    如果某一个应用实例出现 故障了,或者主机宕机,副本控制器会立即删除发生故障的应用实例,同时创建一个 新实例,如果是主机宕机则会把新应用实例调度到其他节点。应用托管平台就是利用 Kubernetes 这一功能特性实现了应用的故障自愈。

    故障自愈是副本控制器的一个具体应用,运维人员需要应用组件配置一定的副本数 (Replicas)来保证其服务能力。应用托管平台定期对实际运行的副本数进行监控,并与配置的副本数做比较,如果出现异常导致某些服务实例不能正常工作,平台会自动监 控到,这时,平台会删除异常实例信息,同时启动新的 Pod 创建流程,为该服务重新 拉起一个新的实例,使实际运行的副本数与配置的副本数保持一致,这样,系统就能保 证服务稳定地按照配置的能力持续运行。

    3. 自动扩缩容

    自动扩缩容指托管平台根据监控的应用运行指标自动进行应用的扩容和缩容,如在 服务负载超过设定阈值时,通过增加实例来降低已有实例的工作负载,实现系统的扩容; 而在服务负载降低至低阈值且达到持续时间之后,平台又会“杀掉”若干实例,来达到 缩容释放资源的目的。

    4. 优雅停机
    (1)Docker Stop:当使用该命令停止容器时,容器内部运行的应用需要在 10 秒 (默认时延)内停止,如果超过该时延,该命令会继续发送 SIGKILL 的系统信号强行 Kill 掉进程,这时,该容器中运行的程序将被强行停止。
    (2)Docker Kill:该命令不会给容器中的应用程序任何时间去停止。它会直接发 出 SIGKILL 的系统信号,强行终止容器中程序的运行。
     

    5. 滚动升级

    滚动升级指不停机升级,服务集群中的每个服务节点分批依次升级替换,在升级的 过程中不影响业务的正常使用。

    滚动升级的流程大体如下。我们在初始部署应用时,系统会自动创建 Deployment, 并在 Deployment 下创建副本控制器 ReplicaSet(RS)。该副本控制器按照副本数目的 要求,创建相应数目的 Pod,每个 Pod 用于运行相应的容器实例。当我们做滚动升级时, 我们在管理台为原应用创建新版本实例以逐渐取代老版本实例。 此时,系统会在原 Deployment 下创建新的副本控制器并创建相 应的 Pod,拉取升级后的(V2)应用镜像运行。

     

    平台监控

    1. 监控方案

    托管平台基于 cAdvisor 实现了托管平台的监控。cAdvisor 是谷歌开源的分析容器 资源使用和性能的监控工具。目前,该工具已经被 Kubernetes 集成到 Kubelet 组件 中,无须额外配置,在托管平台的工作节点集群,每个节点上都安装有 cAdvisor 服务, 除了系统使用的 CPU、Memory、存储和网络之外,cAdvisor 还记录了每个容器使 用上述资源的情况。(Dashboard已经集成)。

     

    2. 主机监控
    主机监控指对容器的宿主机,即容器所运行的节点进行监控。主机监控主要监控 底层容器宿主节点的资源使用情况以及健康度这些数据都是由 cAdvisor 采集而来的,主要的监控指标有:
    ① 宿主机 CPU 配置以及使用情况;
    ② 宿主机内存配置以及使用情况;
    ③ 宿主机磁盘配置以及使用情况。

     

    3. 容器监控
    容器监控主要关注容器的两个层面:一是监控容器本身的运行状态,二是监控容器内服务的运行状态。

    DevOps打造软件生产流水线

       此处不做详解


    打造下一代基础架构平台

     

    多租户架构

    多租户应用的四级成熟度模型:

    第一级成熟度模型为每个软件服务提供商分配一个独立的数据库实例和应用服务器 实例,数据库中的数据结构和代码可根据客户需求定制化修改,每个客户有独立的代码。 但是不同客户软件之间可以重用和共享少量可公用的组件、资源库等。这种模型相对于传统软件,在架构上没有差别。在这种模式下,我们需要为每个客户定制开发、单独部第 13 章 多租户架构 署等,很难达到规模效应。

    第二级成熟度模型下每个租户也是单独部署一个应用实例,但所有租户共享一套代 码,租户通过应用提供的配置选项进行个性化设置。第二级模型是第一级的改进,也是 针对每个客户的定制化可以通过配置方式实现,而不需要维护不同版本的代码以及不同 数据库。这种模式需要供应商提供足够的资源,同时运行多个应用实例,对服务器资源 占用较多。

    第三级成熟度模型下所有租户共享一个应用实例,租户通过元数据进行个性化配置, 通过访问控制策略进行租户之间的数据隔离。由于多个租户共享一个应用实例,第三级 成熟度模型减少了部署多个应用实例的资源开销,相比第一级、第二级模型提高了资源 利用率。

    第四级成熟度模型提供了更好的系统扩展性,通过在租户和应用实例之间增加负载 均衡层,系统可以方便地通过增加或减少应用实例来满足租户数量以及租户业务量的变 化,满足系统的可扩展性。

     

    多租户数据库架构

    租户独享数据库方式,每个租户使用单独的一个数据库,租户数据通过数据库进行 隔离,安全性较好。通过元数据对租户数据库进行管理,租户可以方便地进行个性化的 配置。但是,由于数据库会占用较多的服务器资源,当租户数量较大时,会占用大量的服务器资源,因此,独享数据库方式资源共享度较低。

    租户共享数据库独立模式,所有租户共享一个数据库实例,每个租户拥有一套自己的数据表。在这种模式下,当有新租户加入时,只需要在共享数据库中为该租户创建一 套数据表。租户数据之间通过数据表进行隔离。在资源相同的情况下,较前一种方法支 持的租户数量增加很多。但是,由于每个租户都拥有一套数据表,当租户数量较大时, 数据库中的数据表数量会大量增加,并且每个数据库支持的数据表数量有限,因此,当 数据库表数量达到一定程度时,会导致服务器性能急剧下降。

    租户数据库共享模式,所有租户数据存储在同一个数据库中,同一张表中存放不同 租户的数据,当租户访问数据时,需要通过租户编号来提取所属租户的数据。由于第三种方式中各租户共享数据库资源,无须额外的数据库实例和架构,资源利用率与前两种方式相比是最高的,但是这种模式数据隔离性较低。

    展开全文
  • 推荐中台探索与实践-张时骏
  • 本文将从实战角度讲解中大型公司微服务化最核心最关键的六大技术,即jenkins,docker,maven,git,gitlab,harbor(本篇文章未讲解nexus,在后续文章再讲解),关于六大技术,会在接下来的文章中从架构,理论,实战,常见...

    前言

    万字长文,希望读者能耐心看完

    本文将从实战角度讲解中大型公司微服务化最核心最关键的六大技术,即jenkins,docker,maven,git,gitlab,harbor(本篇文章未讲解nexus,在后续文章再讲解),关于六大技术,会在接下来的文章中从架构,理论,实战,常见难点和常见误区等角度精细化讲解。

    Tip:本篇文章适合具有一定linux和docker基础的读者,对于不熟悉linux和docker的读者朋友,可以先关注,后续文章会对每个专题从入门到架构进行讲解。

     一、 docker安装


    1.卸载旧版本

    • yum remove docker \
    • docker-client \
    • docker-client-latest \
    • docker-common \
    • docker-latest \
    • docker-latest-logrotate \
    • docker-logrotate \
    • docker-engine

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    2.安装相关工具

    • yum install -y yum-utils \
    • device-mapper-persistent-data \
    • lvm2

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    3.选择稳定仓库

    yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    注意:这里可以选择阿里云镜像或网易云镜像等,也可选择自己公司搭建的harbor镜像仓库

    4.下载最新版docker

    yum install docker-ce docker-ce-cli containerd.io

    注意:如果安装具体版本,请使用命令:yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

    5.启动docker

    systemctl start docker

    6.加入开机启动

    system enable docker

    7.查看是否安装成功

    docker info

    如下表示安装成功

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    *************************特别说明***********************************

    关于彻底卸载docker:

    (1)查询docker安装过的包

    yum list installed | grep docker

    (2)安装安装包

    yum remove docker-ce.x86_64 ddocker-ce-cli.x86_64 -y

    (3)删除容器镜像

    rm -rf /var/lib/docker

    rm -rf /var/run/docker

    rm -rf /etc/systemd/system/docker.service.d

    (4)卸载docker相关组件

    yum remove docker \

    docker-client \

    docker-client-latest \

    docker-common \

    docker-latest \

    docker-latest-logrotate \

    docker-logrotate \

    docker-engine

    关于centos 官网参考:

    https://docs.docker.com/install/linux/docker-ce/centos/

    ***********************************************************************

    二 docker安装gitlab


    1.docker查找gitlab

    docker search gitlab

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    2.拉取gialab镜像

    我们选择镜像名称为gitlab/gitlab-ce的镜像来安装

    docker pull gitlab/gitlab-ce

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    3.查看本地拉取的gitlab镜像

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    4.启动镜像

    docker run -itd -p 9980:80 -p 9943:443 -p 9922:22 --name gitlab gitlab/gitlab-ce:latest

    启动容器,建议采用如下方式:

    docker run \

    --detach \

    --publish 9943:443 \

    --publish 9980:80 \

    --name gitlab \

    --restart=always \

    -v /mnt/gitlab/etc:/etc/gitlab \

    -v /mnt/gitlab/log:/

    var/log/gitlab \

    -v /mnt/gitlab/

    data:/

    var/opt/gitlab \

    gitlab/gitlab-ce:latest

    注意:端口号:9980,9943,9922可以任意选择,但是80,443,22是gitalab镜像固定的,不要改变。

    5.将端口号加入防火墙

    注意:需要将映射的端口号9980,9943,9922加入防火墙,如果不加入防火墙,虽然能成功启动gitlab镜像,但浏览器访问不了

    (1)将9980,9943,9922端口号加入防火墙

    firewall-cmd --permanent --add-port=9980/tcp

    firewall-cmd --permanent --add-port=9943/tcp

    firewall-cmd --permanent --add-port=9922/tcp

    (2)重启防火墙

    systemctl reload firewalld

    (3)查看防火墙允许端口

    firewall-cmd --list-ports

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    6.设置开机启动容器

    docker update --restart=always 容器名称

    7.查看容器状态

    docker ps

    如下表示启动容器成功

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    8.访问gitlab

    访问方式:ip:9980

    这里的9980端口就是启动gitlab容器时设置的端口

    首次访问时,需要设置密码(这里设置为12346),默认账户为root

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

     

    用刚才设置的密码登录

    账号/密码:root/123456

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    三 harbor


    (一)安装docker-compose

    关于docker-compose安装,分为在线安装和离线安装。

    在线安装,请参照官网:https://docs.docker.com/compose/install/#install-compose

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    由于大部分公司运用程序部署在内网,因此主要讲解内网安装

    1.下载docker-compose离线安装包

    github提供下载地址:https://github.com/docker/compose/releases

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    2.将下载的安装包上传到linux

    我上传到/usr/harbor_1.10.1 目录下

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    3.将docker-compose-Linux-x86_64.64移动到/usr/local/bin,并重命名为docker-compose

    mv docker-compose-Linux-x86_64.64 /usr/local/bin/docker-compose

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    4.赋权限

    chmod +x /usr/local/bin/docker-compose

    5.查看是否安装成功

    docker-compose -v

    如下表示docker-compose安装成功

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    (二)安装python 2.7+

    由于大部分电脑都自带了python2,所以这里就不讲解安装python了。

    (三)harbor安装

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    3.访问

    访问时,只需输入ip或域名即可,默认端口号为80

    账号/密码:admin/Alan_beijing

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    登录成功后主界面如下:

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    *****************************************************************************

    其他一下相关操作提示

    ******************************************************************************

    1.数据存储路径

    在默认安装情况下,harbor存储路径是/data/

    https://blog.csdn.net/BalaBalaYi/article/details/83338416

    2.登录harbor服务器

    假若A(10.3.212.21)为harbor服务器,B服务器要操作harbor服务器镜像,需要做如下操作:

    (1)配置B服务器

    vim /etc/docker/daemon.json

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    否则,会出现:

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    (2)配置完后,重启docker

    systemctl restart docker

    四 部署jenkins


    (一)安装maven

    1.下载maven

    wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz

    2.将maven包移动到/usr,并解压

    mv ./apache-maven-3.6.1-bin.tar.gz /usr/apache-maven-3.6.1-bin.tar.gz

    tar -zxvf apache-maven-3.6.1-bin.tar.gz

    3.配置maven环境变量

    vim /etc/profile

    #配置mavenexport MAVEN_HOME=/usr/apache-maven-3.6.1export PATH=MAVENHOME/bin:MAVENHOME/bin:PATH

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    4.source profile文件

    source /etc/profile

    5.查看maven是否配置成功

    mvn -v,如果出现如下,就表示成功

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    (二)GIT安装

    git安装有两种方式,yum方式和通过git源码安装方式,本次讲解通过git源安装

    1.卸载旧版本git

    yum remove git

    2.下载git gz包

    wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

    Tip:

    如果要下载其他版本,请去官网获取不同源url,官网源url

    https://mirrors.edge.kernel.org/pub/software/scm/git/

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    3.解压

    tar -zxvf git-2.9.5.tar.gz

    4.安装相关依赖

    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc xmlto docbook2x autoconf

    yum install gcc perl-ExtUtils-MakeMaker

    注意:这一步可以先跳过,等后面安装出现问题时,再具体安装也可(推荐)

    5.配置安装路径

    make configure

    ./configure prefix=/usr/git-2.9.5

    6.编译安装

    make install

    7.配置变量

    vim /etc/profile

    export GIT_HOME=/usr/git-2.9.5export PATH=GITHOME/bin:GITHOME/bin:{PATH}

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    8.刷新配置文件

    source /etc/profile

    9.查看安装是否成功

    git --version

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    (三)jenkins安装

    关于jenkins安装,有两种安装方式,即基于linux的tomcat安装和基于docker安装,由于jenkins是管理核心数据的建议采用基于tomcat方式安装,

    (一)基于linux的tomcat方式安装

    这种方式就是传统tomcat部署方式,即将jenkins.war放在tomcat中即可,在后续专题讲解jenkins中讲解,这里不讲解。

    (二)基于docker安装

    1.docker查找jenkins镜像

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    2.拉取镜像

    docker pull jenkins

    3.创建目录

    这个目录可以随意指定,我这里创建为: mkdir /usr/jenkins

    4.为刚才创建的目录赋予权限

    chmod 777 /usr/jenkins/

    5.启动镜像

    需要注意的是:需要先将映射的端开启防火墙允许,如下映射的端口9090和5000需要让防火墙允许。

    docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true -v /usr/jenkins:/var/jenkins_home jenkins:latest

    6.访问

    访问方式:ip:9090或域名访问

    注意:这里的9090端口为如上映射的端号

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    7.初始密码

    初始密码在/var/jenkins_home/secrets/initialAdminPassword,操作步骤如下:

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    (1)查看jenkins容器id

    docker ps

    (2)进入容器

    进入容器格式为:

     

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    (3)查看密码

    cat /var/jengkins_home/secrets/initialAdminPassword

    (4)用查询到密码登录

    如下表示登录成功。

    阿里架构师从实战角度详解中大型企业微服务化的六大核心技术

     

    五 总结


    本篇文章从操作角度讲解了docker,jenkins,git,maven,harbor,gitlab,在后续文章,会按照七个专题(docker,jenkins,git,maven,

    harbor,gitlab和nexus)从架构,实战,常见难点,常见误区等角度精细化讲解。

    展开全文
  • 在之前文章:超全详解Java开发环境搭建一文中,部分博友提出程序的自动化部署等相关问题,本篇文章就来解决该问题,即企业微服务化,如何实现服务的自动化部署?服务自动化部署需要哪些技术? 本篇文章从实战角度...

    在之前文章:超全详解Java开发环境搭建 一文中,部分博友提出程序的自动化部署等相关问题,本篇文章就来解决该问题,即企业微服务化,如何实现服务的自动化部署?服务自动化部署需要哪些技术?

    本篇文章从实战角度讲解中大型公司微服务化最核心最关键的六大技术,即jenkins,docker,maven,git,gitlab,harbor(本篇文章未讲解nexus,在后续文章再讲解),关于六大技术,会在接下来的文章中从架构,理论,实战,常见难点和常见误区等角度精细化讲解。

    Tip:本篇文章适合具有一定linux和docker基础的读者,对于不熟悉linux和docker的读者朋友,可以先关注,后续文章会对每个专题从入门到架构进行讲解。

     一 docker安装


     1.卸载旧版本

    yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

    2.安装相关工具

    yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2

     3.选择稳定仓库

    yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo

     注意:这里可以选择阿里云镜像或网易云镜像等,也可选择自己公司搭建的harbor镜像仓库

    4.下载最新版docker

    yum install docker-ce docker-ce-cli containerd.io

    注意:如果安装具体版本,请使用命令:yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

    5.启动docker

    systemctl start docker

    6.加入开机启动

    system enable docker
    

    7.查看是否安装成功

    docker info

    如下表示安装成功

     *************************特别说明***********************************

    关于彻底卸载docker:

    (1)查询docker安装过的包

    yum list installed | grep docker

    (2)安装安装包

    yum remove docker-ce.x86_64 ddocker-ce-cli.x86_64 -y

    (3)删除容器镜像

    rm -rf /var/lib/docker

    rm -rf /var/run/docker

    rm -rf /etc/systemd/system/docker.service.d

    (4)卸载docker相关组件

     yum remove docker \
             docker-client \
             docker-client-latest \
             docker-common \
             docker-latest \
             docker-latest-logrotate \
             docker-logrotate \
             docker-engine

    关于centos 官网参考:

    https://docs.docker.com/install/linux/docker-ce/centos/

    ***********************************************************************

    二 docker安装gitlab


     1.docker查找gitlab

    docker search gitlab

     2.拉取gialab镜像

    我们选择镜像名称为gitlab/gitlab-ce的镜像来安装

    docker pull gitlab/gitlab-ce

     3.查看本地拉取的gitlab镜像

     4.启动镜像

    docker run -itd -p 9980:80 -p 9943:443 -p 9922:22 --name gitlab gitlab/gitlab-ce:latest

    启动容器,建议采用如下方式:

    docker run \
    --detach \
    --publish 9943:443 \
    --publish 9980:80 \
    --name gitlab \
    --restart=always \
    -v /mnt/gitlab/etc:/etc/gitlab \
    -v /mnt/gitlab/log:/var/log/gitlab \
    -v /mnt/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

    注意:端口号:9980,9943,9922可以任意选择,但是80,443,22是gitalab镜像固定的,不要改变。

    5.将端口号加入防火墙

    注意:需要将映射的端口号9980,9943,9922加入防火墙,如果不加入防火墙,虽然能成功启动gitlab镜像,但浏览器访问不了

    (1)将9980,9943,9922端口号加入防火墙

    firewall-cmd --permanent --add-port=9980/tcp

    firewall-cmd --permanent --add-port=9943/tcp

    firewall-cmd --permanent --add-port=9922/tcp

    (2)重启防火墙

    systemctl reload firewalld

    (3)查看防火墙允许端口

    firewall-cmd --list-ports

    6.设置开机启动容器

    docker update --restart=always 容器名称 

    7.查看容器状态

    docker ps

    如下表示启动容器成功

    8.访问gitlab

    访问方式:ip:9980

    这里的9980端口就是启动gitlab容器时设置的端口

    首次访问时,需要设置密码(这里设置为12346),默认账户为root

     

     用刚才设置的密码登录

    账号/密码:root/123456

    三 harbor


     (一)安装docker-compose

    关于docker-compose安装,分为在线安装和离线安装。

    在线安装,请参照官网:https://docs.docker.com/compose/install/#install-compose

     由于大部分公司运用程序部署在内网,因此主要讲解内网安装

    1.下载docker-compose离线安装包

    github提供下载地址:https://github.com/docker/compose/releases

     2.将下载的安装包上传到linux 

    我上传到/usr/harbor_1.10.1 目录下

      3.将docker-compose-Linux-x86_64.64移动到/usr/local/bin,并重命名为docker-compose

    mv docker-compose-Linux-x86_64.64  /usr/local/bin/docker-compose

     4.赋权限

    chmod +x /usr/local/bin/docker-compose

    5.查看是否安装成功

    docker-compose -v

    如下表示docker-compose安装成功

     (二)安装python 2.7+

     由于大部分电脑都自带了python2,所以这里就不讲解安装python了。

    (三)harbor安装

     3.访问

    访问时,只需输入ip或域名即可,默认端口号为80

    账号/密码:admin/Alan_beijing

    登录成功后主界面如下:

     *****************************************************************************

    其他一下相关操作提示

    ******************************************************************************

    1.数据存储路径

    在默认安装情况下,harbor存储路径是/data/    

    https://blog.csdn.net/BalaBalaYi/article/details/83338416

    2.登录harbor服务器

    假若A(10.3.212.21)为harbor服务器,B服务器要操作harbor服务器镜像,需要做如下操作:

    (1)配置B服务器

    vim /etc/docker/daemon.json

    否则,会出现:

     (2)配置完后,重启docker

      systemctl restart docker

    四  部署jenkins


     (一)安装maven

    1.下载maven

    wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz

    2.将maven包移动到/usr,并解压

    mv ./apache-maven-3.6.1-bin.tar.gz /usr/apache-maven-3.6.1-bin.tar.gz

    tar -zxvf apache-maven-3.6.1-bin.tar.gz

    3.配置maven环境变量

    vim /etc/profile

    #配置maven
    export MAVEN_HOME=/usr/apache-maven-3.6.1
    export PATH=𝑀𝐴𝑉𝐸𝑁𝐻𝑂𝑀𝐸/𝑏𝑖𝑛:MAVENHOME/bin:PATH

     4.source profile文件

    source  /etc/profile

    5.查看maven是否配置成功

    mvn -v,如果出现如下,就表示成功

     (二)GIT安装

    git安装有两种方式,yum方式和通过git源码安装方式,本次讲解通过git源安装

    1.卸载旧版本git

    yum remove git

    2.下载git gz包

    wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

    Tip:

    如果要下载其他版本,请去官网获取不同源url,官网源url

    https://mirrors.edge.kernel.org/pub/software/scm/git/

    3.解压

    tar -zxvf git-2.9.5.tar.gz

    4.安装相关依赖

    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc xmlto docbook2x autoconf

    yum install gcc perl-ExtUtils-MakeMaker

    注意:这一步可以先跳过,等后面安装出现问题时,再具体安装也可(推荐)

    5.配置安装路径

    make configure

    ./configure prefix=/usr/git-2.9.5

    6.编译安装

    make install 

    7.配置变量

    vim /etc/profile

    export GIT_HOME=/usr/git-2.9.5
    export PATH=𝐺𝐼𝑇𝐻𝑂𝑀𝐸/𝑏𝑖𝑛:GITHOME/bin:{PATH}

     8.刷新配置文件

    source /etc/profile

    9.查看安装是否成功

    git --version

     (三)jenkins安装

     关于jenkins安装,有两种安装方式,即基于linux的tomcat安装和基于docker安装,由于jenkins是管理核心数据的建议采用基于tomcat方式安装,

    (一)基于linux的tomcat方式安装

    这种方式就是传统tomcat部署方式,即将jenkins.war放在tomcat中即可,在后续专题讲解jenkins中讲解,这里不讲解。

    (二)基于docker安装

    1.docker查找jenkins镜像

    2.拉取镜像

    docker pull jenkins

    3.创建目录

    这个目录可以随意指定,我这里创建为: mkdir   /usr/jenkins

    4.为刚才创建的目录赋予权限

    chmod 777 /usr/jenkins/

    5.启动镜像

    需要注意的是:需要先将映射的端开启防火墙允许,如下映射的端口9090和5000需要让防火墙允许。

    docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true  -v /usr/jenkins:/var/jenkins_home jenkins:latest

    6.访问

    访问方式:ip:9090或域名访问

    注意:这里的9090端口为如上映射的端号

     7.初始密码

    初始密码在/var/jenkins_home/secrets/initialAdminPassword,操作步骤如下:

    (1)查看jenkins容器id

    docker ps

    (2)进入容器

    进入容器格式为:

     

    (3)查看密码

    cat  /var/jengkins_home/secrets/initialAdminPassword

    (4)用查询到密码登录

    如下表示登录成功。

    五  总结


     本篇文章从操作角度讲解了docker,jenkins,git,maven,harbor,gitlab,在后续文章,会按照七个专题(docker,jenkins,git,maven,

    harbor,gitlab和nexus)从架构,实战,常见难点,常见误区等角度精细化讲解,感兴趣的读者,可以加入架构师群(820424)一起交流

    分享,架构师群每天都会分享技术干活,设计到基础技术,中级技术,高级技术,架构师技术,PM技术和微服务架构等,且群里提出的问题24h内

    必解决。

    展开全文
  • 根据实际业务,亿万级互联网架构设计,基于JAVA语言,结合springcloud Alibaba微服务,涵盖微服务治理、服务监控、系统监控、监控大屏、高可用微服务框架、Jenkins 自动化CI/CD、容器自动化等
  • 大型企业微服务架构实践与运营》,以实例和技术穿插的方式,讲解了微服务、kubernets的知识,爱好这方面的IT同仁,可以看看
  • 公司规划的大型互联网分布式企业微服务云架构。
    第一篇文章简单给大家介绍了Spring Cloud架构,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格、苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10年内不能out。作为公司的架构师,也要有一种放眼世界的眼光,不仅要给公司做好的技术选型,而且还要快速响应企业的业务需求,能够为企业快速定制化业务。
    以下是我为公司规划的大型互联网分布式企业微服务云架构:

     欢迎大家和我一同来搭建大型互联网分布式企业微服务云架构,我会把搭建架构的详细步骤记录下来,作为以后大家学习参考的资料,有兴趣可以加丘丘2147775633,希望可以帮助更多的好学者!源码来源
    展开全文
  • 第一篇文章简单给大家介绍了Spring Cloud架构,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格、苛刻,不仅要用业界最...以下是我为公司规划的大型互联网分布式企业微服务云架构: 欢迎大家和我一同...
  • 龙果从无到有搭建电商实战项目一、二、三阶段视频教程,本课程将手把手带大家从无到有实现一个真实的大型电商微服务项目,该项目是基于真实的知名互联网企业项目讲解的
  • 第一篇文章简单给大家介绍了Spring Cloud架构,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格、苛刻,不仅要用业界最流行的技术,还要...以下是我为公司规划的大型互联网分布式企业微服务云架构:
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 形像一点来说,微服务架构就像搭积木,每个微服务都是一个零件,并使用这些零件组装出不同的形状。通俗来说,微服务架构就是把一个大系统按业务功能分解成多个职责单一的小系统,并利用简单的方法使多个小系统相互...
  • 第一篇文章简单给大家介绍了Spring Cloud架构,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格、苛刻,不仅要用业界...以下是我为公司规划的大型互联网分布式企业微服务云架构:欢迎大家和我一同来...
  • 二阶段视频教程,本课程将手把手带大家从无到有实现一个真实的大型电商微服务项目,该项目是基于真实的知名互联网企业项目讲解的 第一阶段:会实现电商系统的大部分功能,包括:用户管理,订单管理,商品管理,支付...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,157
精华内容 462
关键字:

大型企业微服务