精华内容
下载资源
问答
  • 微服务容器化

    万次阅读 2017-10-17 15:05:08
    记录微服务容器化的主要步骤1、基于S2I的容器微服务化 openshift S2I 可以快速为不同的编程平台实现的微服务提供标准化的容器镜像构建过程。2、微服务部署 多个微服务可以通过openshift模板技术,快速实现部署流程...

    记录微服务容器化的主要步骤

    1、基于S2I的容器微服务化
    openshift S2I 可以快速为不同的编程平台实现的微服务提供标准化的容器镜像构建过程。

    2、微服务部署
    多个微服务可以通过openshift模板技术,快速实现部署流程,详见 template学习:template 笔记

    3、服务发现
    通过service实现服务发现,一个service具有一个相对恒定的IP地址,能为后端一组pod容器分发流量,openshift中定义的所有service信息会被自动注入到这个项目所有的容器中,容器通过所需调用的服务名称,可以从上下文环境变量中获取目标service 的ip地址和服务端口。
    注意:在service创建前创建的pod不会被注入service的信息

    4、健康检查
    每个服务可以创建健康检查来监控服务的运行状态:

    1. Readiness Probe:检查应用是否就绪
    2. Livenness Probe:检查容器是否正常运行

    openshift 提供三种类型的健康检查接口:

    1. HTTP GET 请求
    2. 执行容器命令
    3. TCP secket检查

    5、更新发布
    滚动更新:rolling update
    发布回滚:rollback
    灰度发布:基于service 的灰度发布、基于route的灰度发布

    6、服务治理 -API 网关- 非入侵式
    微服务的访问转发、调用的度量统计、流量控制、安全管理等。例如java 的APIman

    7、服务治理 -微服务框架- 入侵式
    运行环境中加入探针,进行度量统计和行为控制

    展开全文
  • 麻袋理财基于Docker的容器化实践

    千人学习 2016-07-13 11:08:29
    Docker容器化实战,落地视频教程,该课程主要分享麻袋理财是如何应用Docker进行容器化开发,部署、镜像、实战。
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...

    Docker 容器化技术介绍(一) 之 虚拟化技术

    Docker 容器化技术介绍(二) 之 Docker 简介

    Docker 容器化技术介绍(三) 之 Docker 组件

    Docker 容器化技术介绍(四) 之 Docker的安装与启动

    Docker 容器化技术介绍(五) 之 Docker 镜像操作

    Docker 容器化技术介绍(六) 之 Docker 容器操作

    Docker 容器化技术介绍(七) 之 Docker 应用部署

    Docker 容器化技术介绍(八) 之 Docker 备份与迁移


    1 虚拟化技术

            我们要讲解的是容器化技术,那么为什在这里需要先了解一下容器化技术呢? 那么因为 Docker 的容器化技术是虚拟的一种体现形式,因此我们要学习容器化技术之前,需要先来了解一下什么是虚拟化技术.

     

    2 常见的虚拟化技术

            全虚拟化架构:虚拟机的监视器 ( hypervisor ) 是类似于用户的应程序运行在主机OS之上,如 VMware 的 workstation,这种虚拟化产品提供了的硬件,像我们在机器上面安装一个linux的虚拟机就是;

            os层虚拟化架构:我们通常使用的 docker 的架构,使用的同一个底层核

            硬件层虚拟化架构:硬件层的虚拟化具有高性能和隔离性,因为 hypervisor 直接在硬件上运行,有利于控制VM的OS访问硬件资源,使用这种解决方案的产品,有VMware ESXi 和 Xen server;

            Hypervisor 是一种运行在物理服务器和操作系统之间的中间软件层可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的'元'操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor, VMM);

            Hypervisor是所有虚拟化技术的核心,当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统;

            Hypetvisor是所有虚拟化技术的核心,软硬件架构和管理更高效、更灵活,硬件的效能能够更好地发挥出来;常见的产品有: VMware、 KVM、Xen等等;

     

     

    展开全文
  • 目前亟待增加裸金属服务器配置相关知识和云原生相关内容,那就从容器化和云原生下手,本节把基于k8s的容器化知识挂载到自己的知识树上,然后在测试环境进行开发测试; 一、理解容器化 什么是容器 容器是云原生...

    总聚焦于应用系统开发和建立在应用系统上的业务模型开发,很容易忽略基础资源重要性(包括裸金属服务器配置和优化、最优组网实践和网络拓扑优化、应用部署的持续集成和持续开发、云上资源分配和云原生),努力走出舒适区尝试新知识才能打开新思路,目前亟待增加裸金属服务器配置相关知识和云原生相关内容,那就从容器化和云原生下手,本节把基于k8s的容器化知识挂载到自己的知识树上,然后在测试环境进行开发测试;

    目录

    一、理解容器化

    什么是容器

    什么是Docker

    什么是pod

    什么是微服务

    什么是devops

    二、理解云原生

    三、本地测试-DockerDesktop

    四、后续学习路径


     

    一、理解容器化

    什么是容器

    容器是云原生概念的重要组成部分,一种计算单元,容器比虚拟化技术更轻量化、更小开销的方式运行,作为应用的包装形式,容器赋予应用独立和便携的能力。随着Docker、Kubernetes技术的成熟,容器也成为了时下最火的开发理念。并非所有的应用都适合选择容器,开发者可以根据自己应用的特点和需求选择最适合的计算单元。如果应用是高性能、互信的,且处于同一个管理区域,那么用线程或者进程就可以满足;但如果你的应用是多租户的,并且和其他应用运行在同一个空间,那么你就需要考虑如何将这些应用安全地隔离开,使得数据不会被泄露或性能受到影响,容器也许就是一个不错的选择。

    容器是「高度隔离的进程」:在一般进程的隔离基础上增加了新的隔离机制,这些隔离机制是使用Linux的内核提供的,它包括一些命名空间(Name Spaces)和CGroup。命名空间可以分为网络、存储和计算三大类。其中,最为重要的是网络命名空间。它保证了容器的网络是独立于其他容器网络的。每个容器自己看到的文件系统和其他容器的是不共享的,每个容器只能看到自己的进程ID,而进程编号也是连续的。容器最大的特征没有自己独立的操作系统,而是共享其宿主机上的一个操作系统;而虚拟机则运行在「一台独立的服务器上」,容器相比于虚拟机的成本小但隔离性欠缺。

    容器是「应用的闭包」:应用不是单一的可执行文件,稍微复杂的应用包括:代码、可执行文件、配置依赖、外部依赖(动态链接库)等。所以在应用发行包装的时候,需要考虑目标操作系统的版本、系统架构以及它所依赖的模块等因素。否则应用安装时会改动系统的不同部分,容器作为应用的包装,它最大的特点就是实现了应用的独立和便携,容器本身包含了应用所有的依赖,这使得它可以再任意的基础设施上运行,不会因为系统版本、架构的问题,而导致各种意外。

    什么是Docker

    Docker是容器管理平台,容器是应用运行单元,Docker用来创建、管理和销毁这些单元的,在创建和管理这些计算单元的时候,需要用到计算单元的包装(也就是它的软件发行包),这些包装以容器镜像的方式存放在它的运行环境中,所有的容器计算单元都是通过这些镜像来创建的。

    镜像本身会有版本的发布、升级等需求,这就涉及到Docker的另一个重要组成部分DockerHub了。DockerHub有点像苹果的App Store,它是一个非常大的「容器市场」,所有常用的软件都可以在DockerHub上找到。

    最后一个Docker的重要模块,就是用户界面和管理工具,它们用来向容器的运行环境发布命令或查看状态。只需要用一个Docker的命令加上一些参数,就可以实现创建、删除、查看容器的运行情况等操作,只需要安装好Docker就可以尝试运行这个Hello World的容器了,容器的典型应用可以分为两类:微服务和DevOps。

    什么是pod

    Pod是组合的多容器运行单元,也是Kubernetes的基础单元,可以看作是容器的扩展或者增强型的容器。Pod里面包括一个主容器和数个辅助容器,它们共同完成一个特定的功能。把多个进程(容器也是一种隔离的进程)打包在一个Name Space里的时候,就构成了一个Pod。Pod里面不同进程的应用包装仍然是独立的(每个容器都会有自己的镜像)。 

    Pod的意义在于既保持主容器和辅助容器的的密切关系,又保持主容器的独立性。由于主容器和辅助容器的生命周期相同,可以同时被创建和销毁,因此把它们放在一个Pod中,可以使他们的交互更加高效,另一方面主容器需要完成一些主要工作,而另一些工作可能是有共性的,就可以单独打包由辅助容器来运行。 非常推荐大家去一个叫Katacoda的网站,它上面有大量免费的在线实验,包括Docker及Docker Image等动手操作项目

    什么是微服务

    微服务是指系统的不同单元或功能运行不同的容器,每一个服务的容器数量可以根据自己的负载进行调整。比如,一个大系统包含用户登录、货品展示、货品交互等功能,但这个系统的各个部分并不是同时线性增加的,有些部分可能忙一些,有些部分的容量可能还有富余。 

    什么是devops

    DevOps是指开发者、测试、生产过程流水线化。因为容器的「自包含」特性,当它作为标准的流通物品,可以使开发环境、测试环境和生产环境的应用包装完全一致,这样就减少了应用由于依赖关系配置错误等导致的意外,从而使得开发、测试、生产的整个流水线变得更高效。

    二、理解云原生

    云原生(CloudNative)以容器化、微服务、可持续交付性,快速构建/运行弹性扩展应用,应用构建简便快捷,部署轻松自如,应用按需伸缩,云原生是一套技术体系/方法论。Cloud表示应用程序位于云中,而非传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。

    云原生概括为4个要点:DevOps+持续交付+微服务+容器,云原生架构的应用系统应该采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。

    云原生构建应用简便快捷,部署应用轻松自如、运行应用按需伸缩。优点不一而足,缺点微乎其微;秒杀传统Web框架,吊打祖传IT模式,实在是保命装逼、评优晋级不可多得的终极绝密武器。

    三、本地测试-DockerDesktop

    本地使用docker-desktop安装mysql;

    官方下载地址:docker-desktop的链接地址

     安装过程中报错,WSL 2地址:wsl2

    设置国内镜像地址,并重启;

    {
      "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn",
        "http://hub-mirror.c.163.com"
      ],
      "insecure-registries": [],
      "debug": false,
      "experimental": false,
      "features": {
        "buildkit": true
      }
    }

     本地安装mysql是如此地复杂,但是在使用docker-desktop就非常的简单:

    # 拉取镜像
    docker pull mysql:5.7.29
    
    # 镜像运行之后就是容器container了,run就启动了该容器
    docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.29
    
    # 进入mysql这个容器内,在docker-desktop可以进入
    docker exec -it mysql bash
    
    # 进入镜像后就可以访问mysql
    mysql -u root -p //回车输入密码
    

    把window的telnet功能打开;telnet 127.0.0.1 3306端口可用,说明已完成安装,跟本地安装mysql相比快捷而省时间,秀的一批;

    四、后续学习路径

    1.学习dockerfile;

    2.云原生内容;

    展开全文
  • 日趋复杂的运维开发环境, 对虚拟服务器及应用服务的要求更加多元化, 我们需要更加容易扩展, 性能优越, 方便监控的管理服务, 容器化应用, 容器化运维应运而生。 容器化是将应用程序或服务, 其依赖及其配置(抽象化为...

    1. 容器和Docker

    1. 什么是容器化
    日趋复杂的运维开发环境, 对虚拟服务器及应用服务的要求更加多元化, 我们需要更加容易扩展, 性能优越, 方便监控的管理服务, 容器化应用, 容器化运维应运而生。
    容器化是将应用程序或服务, 其依赖及其配置(抽象化为部署清单文件) 一起打包为容器映像的一种软件开发方法。
    容器化
    软件容器充当软件部署的标准单元, 其中可以包含不同的代码和依赖项。 按照这种方式容器化软件, 开发人员只需进行极少修改或不修改, 即可部署到不同环境
    容器化应用程序在容器主机上运行, 而容器主机在OS(Linux或Windows)上运行, 因此, 容器的占用比虚拟机VM映像小得多。

    容器化特点:

    • 一致的运行环境
    • 可伸缩性 方便移植
    • 隔离性好

    2. 什么是Docker
    GO语言开发的应用容器引擎, 基于容器化, 沙箱机制的应用部署技术。可适用于自动化测试, 打包, 持续集成和发布应用程序等场景。包括阿里云, 亚马逊在内的云计算服务商都采用了docker来打造serverless服务平台, 它不仅可以部署项目, 还可以用于数据库搭建, nginx服务搭建, nodejs,php等编程语言环境搭建

    Docker中三个重要概念:
    镜像(image):分片的(只读的)文件系统, 由Dockerfile创建
    独立,易扩展,更效率
    容器(container):由Docker进程创建和管理的:文件系统 + 系统资源 + 网络配置 + 日志管理 docker是docker镜像的运行环境
    仓库(registry):用来远端存储docker镜像
    版本控制,变更管理,为持续集成和快速部署提供便利


    3. Docker vs 虚拟机
    docker虚拟机
    在这里插入图片描述


    4. Docker工作原理
    Docker
    部署

    2. 常见应用场景

    1. 快速部署
    docker run -d --name mysql -test -e MYSQL_ROOT_PASSWORD=123456 mysql
    
    1. 隔离应用
      隔离

    2. 提高开发效率
      开发效率

    3. 版本控制
      Docker容器还可以像git仓库一样, 可以让提交变更到docker镜像中并通过不同版本管理

    4. 简化配置,整合资源

    5. DevOps流程

    展开全文
  • 外卖客户端容器化架构的演进

    千次阅读 2020-09-30 20:01:48
    总第413篇2020年 第37篇好的架构要不断演变,进而去适应业务的发展。美团在移动端上的架构,也经历了组件化、平台化、RN混合化,到现在开始向容器化变迁。容器化架构充分地利用了现在的跨...
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...
  • 微服务容器化运维系列的前两期,我给你详细介绍了微服务容器化后如何运维的几个关键问题:镜像仓库、资源调度、容器调度、服务编排,这些问题的产生都是因为微服务部署的节点从一台台物理机或者虚拟机变成了一个个...
  • gitlab 容器化部署

    千次阅读 2018-07-12 16:40:12
    gitlab 容器化部署 1. docker pull 对应的版本的容器 https://hub.docker.com/r/gitlab/gitlab-ce/ 通过Dockerfile 查看需要挂载的文件目录有 /etc/gitlab 配置文件 /var/log/gitlab 日志 /var/opt/gitlab...
  • Docker---大型项目容器化改造

    千次阅读 多人点赞 2019-01-17 17:49:59
    虚拟化和容器化是项目云化不可避免的两个问题。虚拟化由于是纯平台操作,一个运行于linux操作系统的项目几乎不需要做任何改造就可以支持虚拟化。而项目如果要支持容器化则需要做许多细致的改造工作。容器化相对于...
  • ELK 容器化——Kibana

    千次阅读 2018-12-13 00:43:51
    上篇文章介绍了如何将elasticsearch docker 容器化: https://blog.csdn.net/fxbin123/article/details/84933886 本篇我们将介绍kibana的docker 容器化,ok,接下来进入我们今天的主题 2、 版本选择 CentOS7.5 ...
  • Docker容器化开发流程(一)介绍

    千次阅读 2020-04-11 20:50:33
    文章目录目标容器化开发模式生产环境使用docker 的问题容器化流程 目标 了解容器化开发模式 了解容器化开发流程 参考: Docker技术入门与实战 第二版 书籍 [认识容器]...
  • 应用容器化之Kubernetes实践

    万次阅读 2016-08-15 08:34:09
    主要以ZooKeeper、Redis、Kafka、MongoDB等应用容器化在Kubernetes平台上面实践。从计算、网络、存储方面解析应用在集成中的问题,以及部分传统应用在容器化过程中设计的应用二次开发等问题。首先介绍应用Docker化的...
  • Android容器化框架

    千次阅读 2017-06-18 11:34:29
    标题标题Alibaba Atlas Atlas是阿里移动基础团队的核心中间件之一,Atlas特别适用于大规模团队的协同开发。通过提供组件化、动态性、解耦化的支持,Atlas能够实现每个业务在...开源Android容器化框架Atlas开发者指南
  • 容器化ICT融合初体验

    万次阅读 2016-08-19 13:03:42
    【编者的话】本次将分享的容器化ICT融合平台是一种面向未来ICT系统的新型云计算PaaS平台,它基于容器这一轻量级的虚拟化技术以及自动化的“微服务”管理架构,能够有效支撑应用快速上线和自动扩缩容,最大化IT基础...
  • Android容器化/组件化方案

    千次阅读 2017-09-25 10:31:55
    Android容器化方案撰写日期:2017-6-1 作者:庄文志项目背景项目在初期,因为功能少,项目紧张,我们只会在耦合度较高的情况下进行开发,各功能的耦合上如下:1)在这种情况下,各个模块之间耦合度高,各模块之间...
  • 一、为什么要做无状态化和容器化 很多应用拆分成微服务,是为了承载高并发,往往一个进程扛不住这么大的量,因而需要拆分成多组进程,每组进程承载特定的工作,根据并发的压力用多个副本公共承担流量。 将一个进程...
  • 作者 |王洪鹏责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)封图|CSDN下载于视觉中国上篇文章:小网站的容器化(上)中我们大致描述了下个人网站在日常维...
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...
  • 为了能够适应容器云平台的管理模式和管理理念,应用系统需要完成容器化的改造过程。对于新开发的应用,建议直接基于微服务架构进行容器化的应用开发;对于已经运行多年的传统应用系统,也应该逐步将其改造成能够部署...
  • 阿里云大学课程:容器化应用生命周期管理 课程介绍: 阿里云容器服务提供了公共云、专有云以及专有云敏捷版三种部署形态,全方位地满足企业客户利用CaaS(Container as a Service)进行应用现代化上云的需求。其中...
  • 前端项目容器化之旅

    千次阅读 2019-05-16 15:21:30
    本文介绍了笔者的前端容器化部署踩坑之旅。并解决了以下几个问题: node modules缓存 镜像体积过大 镜像数量多且上线流程复杂 本文要求读者有一定的容器基础,掌握Docker的基本操作,了解K8s的Pod...
  • 随着Devops深入人心,现在docker势头强劲,但是mac和windows都不支持docker,相比较而言,虚拟化比较成熟。容器化和虚拟化哪个才是未来的主流?
  • 上一篇介绍了传统业务部署时面临的问题,这些问题会导致业务无法进行高速迭代,满足不了互联网环境下业务的持续集成、持续交付、持续部署的要求,需要对业务进行容器化的改造。 那么,我们应该如何对传统业务进行...
  • 围绕容器的生态沉淀非常丰富且成熟,被广泛接受使用,应用容器化正在快速成为开发和部署的事实标准。然而容器本身并没有减轻运维、扩缩容、闲置成本、和云服务集成等难题。作者 | changshuaiFaaS 的门槛Serverless ...
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...
  • 对传统应用进行容器化改造

    千次阅读 2018-11-27 14:00:13
    本文接下来简要介绍什么是容器化,要在 Docker 容器中运行传统应用的缘由,容器化的过程,其间可能遇到的问题,在用容器部署之后的其他步骤等。这将明显减轻部署工作的压力,并让应用朝着零停机部署和横向缩放的方向...
  • 容器化的MySQL性能如何

    千次阅读 2016-09-30 15:46:55
    说到部署,Docker将便携性和易用性拉高到一个新水准。...在影响到MySQL性能的每个环节上,用户的典型担忧在于:容器化以后,在这些环节上是否存在显著的性能开销。为此,我们进行了充分的性能测试,
  • 项目docker容器化部署步骤

    千次阅读 2017-05-27 14:50:46
    1.项目中存在不需要使用容器化的服务,所以请安装jdk7、redis、mq、zookeeper、dubbo控制台 2.镜像导入 #cat sdzn_docker_tomcat.tar|docker import - sdzn.com/tomcat:0.1 3.编写项目中的服务脚本: 以下是时代...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,630
精华内容 29,052
关键字:

容器化