容器技术

Docker竟然还能这么玩?商业级4G代理搭建实战!

旧城冷巷雨未停 提交于 2019-11-29 18:39:29
时间过得真快,距离这个系列的上一篇文章《商业级4G代理搭建指南【准备篇】》发布的时间已经过了两个星期了,上个星期由于各种琐事缠身,周二开始就没空写文章了,所以就咕咕咕了。 那么在准备篇中,我们了解了一下搭建 4G 代理所需要的软硬件,也知道了各种选择的优劣势。现在,我们就可以开始实际搭建了,相信大家也是期待已久了。 基本思路 从这篇文章的标题中我们可以看出,这一次的搭建方案主要用到的是 Docker,你可能会很好奇,Docker 跟搭建 4G 代理有什么关系吗? 嗯,关系很大,我们把整件事情梳理一下,先来看看搭建 4G 代理时的基本流程: 调用网卡拨号,拨号成功后会创建一个虚拟网卡。(正常情况下使用这个虚拟网卡就能上网了) 在多网卡的情况下,重复第一步,会得到多个虚拟网卡。 启动代理服务器,使其使用虚拟网卡作为出网网卡,并使用接入内网的实体网卡作为入网网卡。 但是呢,有个问题,根据我之前的测试结果来看,目前在 Linux 环境下还没有一个 HTTP 代理服务器是可以做到分别指定出网网卡和入网网卡的,嗯...这就很麻烦了,因为如果我们无法这么做的话,就会出现类似于下面这样的问题: 出网和入网都在虚拟网卡上,使用代理服务器必须要走公网访问。 入网为实体网卡,但出网被代理服务器锁定为了某一个,无法利用到多网卡。 嗯...那么不用 HTTP 代理服务器,用那些经常被用来做一些骚操作的

易筋SpringBoot 2.1 | 第廿三篇:SpringBoot之Docker安装MongoDB

笑着哭i 提交于 2019-11-29 17:18:38
写作时间:2019-09-15 Spring Boot: 2.1 ,JDK: 1.8, IDE: IntelliJ IDEA 什么是 Docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源 ,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI) 。 Docker 自开源后受到广泛的关注和讨论,至今其 GitHub 项目 已经超过 5 万 多个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底, dotCloud 公司决定改名为 Docker 。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker。 Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup , namespace ,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术

深入浅出SOA思想

◇◆丶佛笑我妖孽 提交于 2019-11-29 16:42:39
#0 系列目录# 聊聊服务架构 深入浅出SOA思想 微服务、SOA 和 API对比与分析 #1 SOA是什么# SOA的全称是Service-Oriented Architecture,面向服务架构。 是一种架构,不是一种具体的开发技术 。 SOA的出现,预示着一个 以服务为导向 的新IT(Information Technology)时代的到来。 SOA服务的理念思想, 本质上是一种业务和技术完全分离,业务又能和技术自由组合的思想 ,它达到了软件设计的最高境界。 SOA是 为软件集成而服务的 ,它实现了技术和架构的完全分离,消除了软件服务集成的所有障碍。 SOA超越了所有的具体技术(如WebService),也超越了所有具体的架构(ESB) ,同时,SOA也包含这些具体的技术和架构。 SOA在Java领域有两套标准: 一个是SUN推出的JBI(没有得到BEA和IBM的承认) , 另外一个是:IBM和BEA等公司推出的SCA和SDO标准 。 要真正理解什么是SOA需要从软件开发的技术发展史谈起。真正的软件开发从开始到现在经历了四个阶段,也可以说成是四代: 汇编语言开发; 面向过程的软件; 面向对象的组件开发; 面向服务的架构开发,也是今天要谈论的SOA架构; SOA与前面三代的软件开发技术对比, 不同点是SOA超越了软件开发语言本身 。 是一种面向服务的架构,与软件开发语言无关 。

Docker技术( 容器虚拟化技术 )

China☆狼群 提交于 2019-11-29 16:18:14
Docker——容器虚拟化技术 第一章 Docker介绍 诞生背景 Docker 介绍 虚拟机技术与容器虚拟化技术 虚拟机技术 容器虚拟化技术 官方网址 第二章 Docker安装 前提条件 安装Docker Docker管理命令 Docker底层原理 Docker结构图 工作原理 Docker为什么比VM快 第三章 Docker常用命令 帮助命令 镜像命令 容器命令 基本命令 重要命令 Docker常用命令图解 第四章 Docker镜像 镜像 / UnionFS(联合文件系统) 特点 Docker镜像加载原理: 平时我们安装进虚拟机的CentOS都是好几个G,为什么docker这里才220M Docker镜像Commit操作 第五章 Docker容器数据卷 简介 容器内添加数据卷 1.直接命令添加 2.Docker添加 数据卷容器 第六章 DockerFile解析 介绍 构建步骤 格式 语法 Docker执行DockerFile的大致流程 DockerFile保留字指令 保留字整合案例 自定义镜像 自定义tomcat9 第七章 通过Docker安装软件 MySQL Redis RabbitMQ MongoDB 第八章 发布镜像到阿里云 步骤 第一章 Docker介绍 诞生背景 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。 作为开发+运维之间的协作我们需要关心很多东西

阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践

我与影子孤独终老i 提交于 2019-11-29 15:59:04
作者 | 姚捷(喽哥)阿里云容器平台集群管理高级技术专家 本文节选自《不一样的 双11 技术:阿里巴巴经济体云原生实践》一书,点击即可完成下载。 导读 :值得阿里巴巴技术人骄傲的是 2019 年阿里巴巴 双11 核心系统 100% 以云原生的方式上云,完美支撑了 54.4w 峰值流量以及 2684 亿的成交量。背后承载海量交易的计算力就是来源于容器技术与神龙裸金属的完美融合。 集团上云机器资源形态 阿里巴巴 双11 采用三地五单元架构,除 2 个混部单元外,其他 3 个均是云单元。神龙机型经过 618、99 大促的验证,性能和稳定性已大幅提升,可以稳定支撑 双11。今年 双11 的 3 个交易云单元,已经 100% 基于神龙裸金属,核心交易电商神龙集群规模已达到数万台。 神龙架构 阿里云 ECS 虚拟化技术历经三代,前二代是 Xen 与 KVM,神龙是阿里巴巴自研的第三代 ECS 虚拟化技术产品,它具备以下四大技术特征: 存储和网络 VMM 以及 ECS 管控,和计算虚拟化分离部署; 计算虚拟化进一步演化至 Near Metal Hypervisor; 存储和网络 VMM 通过芯片专用 IP 业务加速; 并池支持弹性裸金属和 ECS 虚拟机生产。 简而言之,神龙将网络/存储的虚拟化开销 offload 到一张叫 MOC 卡的 FPGA 硬件加速卡上,降低了原 ECS 约 8%

阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践

爷,独闯天下 提交于 2019-11-29 15:57:39
作者 | 姚捷(喽哥)阿里云容器平台集群管理高级技术专家 本文节选自《不一样的 双11 技术:阿里巴巴经济体云原生实践》一书,点击即可完成下载。 导读 :值得阿里巴巴技术人骄傲的是 2019 年阿里巴巴 双11 核心系统 100% 以云原生的方式上云,完美支撑了 54.4w 峰值流量以及 2684 亿的成交量。背后承载海量交易的计算力就是来源于容器技术与神龙裸金属的完美融合。 集团上云机器资源形态 阿里巴巴 双11 采用三地五单元架构,除 2 个混部单元外,其他 3 个均是云单元。神龙机型经过 618、99 大促的验证,性能和稳定性已大幅提升,可以稳定支撑 双11。今年 双11 的 3 个交易云单元,已经 100% 基于神龙裸金属,核心交易电商神龙集群规模已达到数万台。 神龙架构 阿里云 ECS 虚拟化技术历经三代,前二代是 Xen 与 KVM,神龙是阿里巴巴自研的第三代 ECS 虚拟化技术产品,它具备以下四大技术特征: 存储和网络 VMM 以及 ECS 管控,和计算虚拟化分离部署; 计算虚拟化进一步演化至 Near Metal Hypervisor; 存储和网络 VMM 通过芯片专用 IP 业务加速; 并池支持弹性裸金属和 ECS 虚拟机生产。 简而言之,神龙将网络/存储的虚拟化开销 offload 到一张叫 MOC 卡的 FPGA 硬件加速卡上,降低了原 ECS 约 8%

Kubernetes为什么使用静态调度

ε祈祈猫儿з 提交于 2019-11-29 12:32:27
  Kubernetes为什么使用静态调度      静态调度,是指根据容器请求的资源进行装箱调度,而不考虑节点的实际负载。静态调度最大的优点就是调度简单高效、集群资源管理方便,最大的缺点也很明显,就是不管节点实际负载,极容易导致集群负载不高。      Kubernetes为什么会使用静态调度呢?因为要做好通用的动态调度几乎是不可能的,对,是通用的动态调度很难都满足不同企业不同业务的诉求,结果可能适得其反。那是不是我们就没必要去往动态调度做技术尝试呢?未必!平台根据托管的业务属性,可以适当的通过scheduler extender的方式扩展Kubernetes Scheduler来做一定权重的动态调度决策。      集群资源构成      以cpu资源为例,一个大规模Kubernetes集群的资源组成结构大致如下:      由以下几部分组成:      每个节点的预留资源,对应kubelet的system-reserved, kube-reserved, eviction-hard配置的资源之和,Kubernetes计算Node的Allocatable资源时会减去这部分预留资源。      目前我们集群的平均资源碎片大概在5%~10%左右,根据不同规格的CVM机型略有不同。这些资源碎片分散在集群中的各个节点,以1c1g, 2c2g, 3cxg为主

Docker之网络管理(容器间通信的配置)

别等时光非礼了梦想. 提交于 2019-11-29 12:30:21
博文大纲: 一、Bridge模式(同一台Docker服务器上容器间的通信) 二、部署consul服务实现Docker容器跨主机通信 前言: 当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识。Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分。因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求。本文首先介绍了Docker自身的4种网络工作方式,然后介绍一些自定义网络模式。 我们安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host。 host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。 None:该模式关闭了容器的网络功能,相当于一个回环网络。 Bridge:此模式会为每一个容器分配、设置IP等,并将容器连接到一个叫docker0的虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信。 [ root@docker ~ ] # docker network ls #执行该命令查看docker创建的网络 关于上述提到的三个网络解释如下: Host:相当于Vmware中的桥接模式,与宿主机在同一个网络中,但没有独立的IP地址

k8s和docker简介

瘦欲@ 提交于 2019-11-29 12:04:30
2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。 LXC,就是Linux容器虚拟技术(Linux container) 后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。 Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。 正当他们快要坚持不下去的时候,脑子里蹦出了“开源”的想法。 什么是“开源”?开源,就是开放源代码。也就是将原来内部保密的程序源代码开放给所有人,然后让大家一起参与进来,贡献代码和意见。 Open Source,开源 有的软件是一开始就开源的。也有的软件,是混不下去,创造者又不想放弃,所以选择开源。自己养不活,就吃“百家饭”嘛。 2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。 Solomon Hykes(今年刚从Docker离职) 不开则已,一开惊人。 越来越多的IT工程师发现了Docker的优点,然后蜂拥而至,加入Docker开源社区。 Docker的人气迅速攀升,速度之快,令人瞠目结舌。 开源当月,Docker 0.1 版本发布

虚拟机和docker简单对比

感情迁移 提交于 2019-11-29 12:04:21
原文: Comparing Virtual Machines vs Docker Containers 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 首先,大家需要明确一点,Docker容器不是虚拟机。 2014年,当我第一次接触Docker的时候,我把它比做一种轻量级的虚拟机。这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快。Docker不停地给大家宣传,”虚拟机需要数分钟启动,而Docker容器只需要50毫秒”。 然而,Docker容器并非虚拟机,我们不妨来比较一下它们。 理解虚拟机 使用虚拟机运行多个相互隔离的应用时,如下图: 从下到上理解上图: 基础设施(Infrastructure)。它可以是你的个人电脑,数据中心的服务器,或者是云主机。 主操作系统(Host Operating System)。你的个人电脑之上,运行的可能是MacOS,Windows或者某个Linux发行版。 虚拟机管理系统(Hypervisor)。利用Hypervisor,可以在主操作系统之上运行多个不同的从操作系统。类型1的Hypervisor有支持MacOS的HyperKit,支持Windows的Hyper-V以及支持Linux的KVM。类型2的Hypervisor有VirtualBox和VMWare