云原生入门到进阶,1篇就够了!

开端阅览文章前,请人物切换:想象你作为一位中小型IT公司CTO,面临云原生技能决议计划,你需求答复两个问题:

为什么需求上云?

云原生入门到进阶,1篇就够了!

上云有何坏处?

云原生入门到进阶,1篇就够了!

作为一家公司的技能决议计划者,有必要了解上云的利与弊,并结合公司各阶段开展方针给出最适合的技能计划。

云原生入门到进阶,1篇就够了!

云原生-概述

云原生入门到进阶,1篇就够了!

(一)云原生-界说

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生的界说,业界也是“百家争鸣”各持观念,从技能视角了解云原生会相对清晰。云原生的要害技能包含:

云原生入门到进阶,1篇就够了!

• 微服务架构:服务与服务之间经过高内聚低耦合的方法交互。

• 容器:作为微服务的最佳载体,供给了一个自包含的打包方法。

• 容器编列:处理了微服务在生产环境的布置问题。

• 服务网络:作为根底设备,处理了服务之间的通讯。

• 不可变根底:设备提高发布功率,方便快速扩展。

• 声明式API:让体系愈加强健

指令式API:可以直接发出让服务器履行的指令,例如:“运转容器”、”停止容器”等。

声明式API:可以声明希望的状况,体系将不断地调整实践状况,直到与希望状况保持一起。

• DevOps:缩短研发周期,增加布置频率,更安全当地便:

Culture :达到一起

Automation:根底设备自动化

Measurement:可度量

Sharing:你中有我,我中有你

【私家观念】

云原生的界说:运用因云而生,即云原生。

运用原生被规划为在云上以最佳方法运转,充分发挥云的优势,是上云的最短途径。

(二)云原生-技能生态

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

(三) 云原生-要害技能

云原生要害技能包含:微服务,容器,容器编列,服务网络,不可变根底,声明式API。

(1)微服务

云原生入门到进阶,1篇就够了!

微服务是一种用于构建运用的架构计划。

将一个杂乱的运用拆分成多个独立自治的服务,服务与服务间经过“高内聚低耦合”的形式交互。

云原生入门到进阶,1篇就够了!

微服务典型架构包含:

• 服务重构:单体改造成契合事务的微服务架构。

• 服务注册与发现:微服务模块间的服务生命周期办理。

• 服务网关:身份认证、路由服务、限流防刷、日志统计。

• 服务通讯:通讯技能计划如,RPC vs REST vs 异步音讯。

• 可靠性:服务优雅降级,容灾,熔断,多副本。

(2)容器

云原生入门到进阶,1篇就够了!

容器是一种打包运用的方法,可以打包运用中的一切软件和软件所依靠的环境,并可完结跨渠道布置。

容器要害技能:namespac视图阻隔,cgroups资源阻隔 ,Union File System联合文件体系。

容器优势:

  • 更高效的使用资源。

  • 更快速的发动时刻。

  • 一起性的运转环境。

(3)容器编列

云原生入门到进阶,1篇就够了!

容器编列包含:自动化办理和协调容器的体系,专注于容器的生命周期办理和调度。

中心功用:

  • 容器调度:依据战略完结容器与母机绑定。

  • 资源办理:CPU、MEM、GPU、Ports、Device。

  • 服务办理:负载均衡、健康查看。

(4)服务网格

云原生入门到进阶,1篇就够了!

服务网格(Service Mesh)是致力于处理服务间通讯的根底设备层。

  • Service Mesh应对云原生运用的杂乱服务拓扑,供给可靠的通讯传递。

  • 经过一组轻量级网络署理(Sidecar proxy),与运用程序代码布置在一起来完结,且对运用程序通明。

Service Mesh 特点:

  • 运用程序间通讯的中间层。

  • 轻量级网络署理,运用程序无感知。

  • 解耦运用的重试、监控、追踪、服务发现。

Service Mesh主流组件:Istio、MOSN(Modular Open Smart Network)Linkerd。

(5)不可变根底设备

云原生入门到进阶,1篇就够了!

不可变根底设备(Immutable Infrastructure)(宠物VS牲畜)

  • 任何根底设备实例(服务器、容器等各种软硬件)一旦创立之后便成为一种只读状况,不可对其进行任何更改。

  • 假如需求修改或升级实例,仅有方法是创立一批新实例以替换。

不可变根底设备的优势:

  • 提高发布运用功率。

  • 没有雪花服务器。

  • 快速水平扩展。

(6)声明式API

云原生入门到进阶,1篇就够了!

  • 指令式API:可直接发出让服务器履行的指令,例如:“运转容器”、“停止容器”等。

  • 声明式API:可声明希望的状况,体系将不断地调整实践状况,直到与希望状况保持一起。

为什么声明式使体系愈加强健?

可以类比了解成自动化工程学的闭环自习惯模型。

云原生入门到进阶,1篇就够了!

(7)DevOps

云原生入门到进阶,1篇就够了!

DevOps方针:缩短开发周期,增加布置频率,更可靠地发布。

从历史上开发和运维相对孤立到开发和运维之间树立协作,可以增加信赖,更快速地发布新版本。

DevOps是一组进程,方法和体系的总称包含:

  • Culture:

文化是DevOps 中的榜首成功要素。

由于方针不同,开发和运维形成一堵墙,DevOps经过树立开发和运维之间协作和沟通的文化来消除墙。

  • Automation:

自动化软件的开发和交给,通常包含持续集成,持续交给和持续布置,云原生年代还包含根底架构的自动化,即IaC(Infrastructureas code)。

  • Measurement:

度量尤其重要,经过客观的测量来确定正在发生的事情的真实性,验证是否按预期进行改动。并为不同职能部门达到一起树立客观根底。

  • Sharing:

1.开发和运维团队之间长期存在冲突的主要原因是缺乏一起的根底。

2.开发参与运维值勤,参与软件的布置和发布,运维参与架构规划。

云原生入门到进阶,1篇就够了!

容器-Docker

云原生入门到进阶,1篇就够了!

(一)Docker****概述

云原生入门到进阶,1篇就够了!

为什么学习容器技能?

云年代从业者:Docker已成云渠道运转分布式、微服务化运用的行业标准。

作为有技能追求的程序员,有必要了解云原生的要害技能:容器。

云原生入门到进阶,1篇就够了!

Docker中心概念:镜像、容器、库房。

镜像(Image):

  • 一个只读模板。

  • 由一堆只读层(read-only layer)堆叠。

  • 一致文件体系(UnionFileSystem)整组成一致视角。

容器(Container) :

  • 经过镜像创立的彼此阻隔的运转实例。

  • 容器与镜像差异:最上面那一层可读可写层。

  • 运转态容器界说:一个可读写的一致文件体系,加上阻隔的进程空间,以及包含在其间的运用进程。

库房(Repository):

  • 集中存放镜像文件的当地。

  • Docker Registry 可包含多个库房(Repository),每个库房可包含多个标签(Tag),每个标签对应一个镜像。

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

(二)Docker****要害技能

(1)Namespace****视图阻隔

Linux namespace 是一种内核等级的环境阻隔机制,使得其间的进程好像具有独立的体系环境。

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

Network namespace在Linux中创立彼此阻隔的网络视图,每个网络姓名空间都有自己独立的网络装备,包含:网络设备、路由表、IPTables规矩,路由表、网络协议栈等。(默许操作是主机默许网络姓名空间)

(2)control groups**(资源阻隔)**

Linux Control Group是内核用于约束进程组资源运用的功用。资源包含:CPU,内存,磁盘IO等。

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

(3)Union File System**(联合文件体系)**

云原生入门到进阶,1篇就够了!

Union File System, 联合文件体系:将多个不同方位的目录联合挂载(union mount)到同一个目录下。

  • Docker使用联合挂载才能,将容器镜像里的多层内容呈现为一致的rootfs(根文件体系)。

  • Rootfs打包整个操作体系的文件和目录,是运用运转所需求的最完好的“依靠库”。

**(三)Docker-**网络技能

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

Bridge形式:Docker0充任网桥,在默许情况下,被约束在Network Namespace里的容器进程,是经过 Veth Pair设备 + 宿主机网桥的方法,完结跟同其他容器的数据交流。

一旦一张虚拟网卡被“插”在网桥上,它就会变成该网桥的“从设备”。

从设备会被“剥夺”调用网络协议栈处理数据包的资格,然后“降级”成为网桥上的一个端口。

而这个端口仅有的作用,便是接收流入的数据包,然后把这些数据包全部交给对应的网桥,由网桥完结转发或许丢掉。

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

veth供给一种衔接两个network namespace的方法。

Veth 是Linux中一种虚拟以太设备,总是成对出现常被称为Veth pair。

可以完结点对点的虚拟衔接,可当作一条衔接两张网卡的网线。一端网卡在容器的Network Namespace上,另一端网卡在宿主机Network Namespace上。任何一张网卡发送的数据包,都可以对端的网卡上收到。

云原生入门到进阶,1篇就够了!

在物理网络中,假如需求衔接多个主机,会用交流机。

在 Linux 中,可以起到虚拟交流机作用的网络设备,是网桥(Bridge)。

它是一个作业在数据链路层的设备,主要功用是根据MAC 地址学习来将数据包转发到网桥的不同端口(Port)上。

Bridge网桥相似交流机,两个以上namespace接入同一个二层网络。

veth pair一端虚拟网卡加入到namespace,另一端到网桥上。

云原生入门到进阶,1篇就够了!

路由(routing)是经过互联的网络把信息从源地址传输到意图地址的活动,发生在OSI模型的第三层(网络层)。Linux内核供给IP Forwarding功用,完结不同子网接口间转发IP数据包。

路由器作业原理:

  • 路由器上有多个网络接口,每个网络接口处于不同的三层子网上。

  • 根据内部路由转宣布将从一个网络接口中收到的数据包转发到另一个网络接口,完结不同三层子网间互通。

云原生入门到进阶,1篇就够了!

容器编列-Kubernetes

云原生入门到进阶,1篇就够了!

(一)概述&架构&中心组件

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

我认为Kubernetes最大成功:让容器运用进入大规模工业生产。

Kubernetes的供给特性,几乎掩盖一个分布式体系在生产环境运转的一切要害事项。包含:

  • Automated rollouts and rollbacks(自动化上线和回滚)

运用Kubernetes 描述已布置容器的所需状况,受控的速率将实践状况更改为希望状况。

  • Self-healing(自我修正)

Kubernetes 从头发动失败的容器、替换容器、杀死不响运用户界说的运转状况查看的容器,而且在准备好服务之前不将其通告给客户端。

  • Service discovery and load balancing(服务发现与负载均衡)

Kubernetes 可以运用 DNS 称号或自己的 IP 地址揭露容器,假如进入容器的流量很大,Kubernetes 可以负载均衡并分配网络流量,然后完结布置安稳。

  • Storage orchestration(存储编列)

Kubernetes 答应你自动挂载挑选的存储体系,例如本地存储、公厂商等。

  • Automatic bin packing(自动装箱)

Kubernetes 答应指定每个容器所需 CPU 和内存(RAM)。当容器指定资源请求时,Kubernetes 可以做出更好的决议计划来办理容器的资源。

  • Secret and configuration management(安全和装备办理)

Kubernetes 答应存储和办理灵敏信息,例如暗码、OAuth 令牌和 ssh 密钥。你可在不重建容器镜像的情况下布置和更新密钥和运用程序装备,也无需在堆栈装备中露出密钥。

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

API Service:Kubernetes 各组件通讯中枢。

  • 资源操作的仅有入口,并供给认证、授权、拜访操控、API 注册和发现等机制。

  • 为Pod, Deployment,Service等各种目标供给Restful接口。

  • 与etcd 交互的仅有组件。

Scheduler:担任资源调度,按照预定调度战略将Pod调度到相应的机器。

  • Predicates(断语):淘汰制

  • Priorities(优先级):权重核算总分。

Controller manager:担任维护集群的状况,比方毛病检测、自动扩展、滚动更新等。

etcd:分布式的K-V存储,独立于Kubernetes的开源组件。

  • 主要存储要害的原数据,支撑水平扩容确保元数据的高可用性。

  • 根据Raft算法完结强一起性,共同的watch机制是Kubernetes规划的要害。

kubelet :担任维护Pod的生命周期,一起担任Volume(CVI)和网络(CNI)的办理。

kube-proxy:担任为 Service 供给 cluster 内部的服务发现和负载均衡

  • kube-proxy经过在节点上增加 iptables规矩以及从中移除这些规矩来办理此端口从头映射进程。

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

操控器形式的规划思维:

容器类比集装箱,集装箱当然好用,可是假如它各面光秃秃的,吊车还怎么把它吊起来摆放好呢?

Pod目标其实便是容器的升级版,对容器进行组合,增加更多属性和字段。就比如在集装箱上装置了吊环,Kubernetes这台“吊车”可以更轻松操作容器。

然而Kubernetes操作这些“集装箱”的逻辑都是由操控器完结的。

Kubernetes经过“操控器形式” 的规划思维,来一致编列各种目标和资源。

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

(二)布置&资源操控&存储

云原生入门到进阶,1篇就够了!

Kubernetes-集群布置架构

  • 一切组件经过kubelet static pod的方法发动确保宿主机各组件的高可用,systemd供给kubelet的高可用。

  • 每个Master的运用hostNetwork网络,controller-manager和scheduler经过localhost衔接到本节点apiserver。

  • controller-manager和scheduler的高可用经过本身供给的leader推举功用(–leader-elect=true)。

  • apiserver高可用,可经过经典的haporxy+keepalived确保,集群对外露出VIP。

  • 外部拜访经过TLS证书,在LB节点做TLS Termination,LB出来http请求到对应apiserver实例。apiserver到kubelet、kube-proxy相似。

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

(三)Kubernetes-网络技能

(1)对外服务

云原生入门到进阶,1篇就够了!

Service是一个逻辑概念,一组供给相同功用Pods的逻辑集合,并供给四层负载一致入口和界说拜访战略。

交互流程:Service可经过标签选取后端服务。匹配标签的Pod IP 和端口列表组成endpoints,有kube-proxy担任均衡到对应endpoint。

为什么需求service?

  • 对外供给入口(容器如何被外部拜访)。

  • 克服Pod动态性(Pod IP不一定可以安稳依靠)。

  • 服务发现和安稳的服务(Pod服务发现、负载、高可用)。

Service Type四种方法

  • Cluster IP:装备endpoint列表。

  • NodePort:默许端口规模:30000-32767,经过nodeIP:nodePort拜访。

  • LoadBalancer:适用于公有云,云厂商完结负载,装备LoadBalance到podIP 。

  • ExternalName:服务经过DNS CNAME 记载方法转发到指定的域名。

云原生入门到进阶,1篇就够了!

Service Type为Cluster IP:

  • Kubernetes的默许服务,装备endpoint列表,可以经过proxy 形式来拜访该对应服务。

  • 相似经过Nginx完结集群的VIP。

云原生入门到进阶,1篇就够了!

Service Type为Node Port:

在集群一切节点上敞开特定端口,任何发送到该端口流量凭借Service的Iptables规矩链发送到后端Pod。

注意事项:

  • 每个服务对应一个端口,端口规模只有30000–32767。

  • 需求感知和发现节点改变,流量转发增加SNAT流程,Iptables规矩会成倍增长。

适用场景:服务高可用性要求不高或本钱不灵敏,例如:样例服务或暂时服务。

云原生入门到进阶,1篇就够了!

Service Type为Load Balancer:

对公网露出服务主张选用此方法,Service没有对其行为做任何标准,依靠云厂商LB详细完结(云厂商收费服务)如:腾讯公有云:CLB。

云原生入门到进阶,1篇就够了!

Service Type为External Name :

DNS作为服务发现机制,在集群内供给服务名到Cluster IP的解析。

CoreDNS :DNS服务,CNCF第04个结业项目,KUBERNETES的1.11版本已支撑。

CoreDNS完结的高功能、插件式、易扩展的DNS服务端,支撑自界说DNS记载及装备upstream DNS Server,可以一致办理Kubernetes根据服务的内部DNS。

云原生入门到进阶,1篇就够了!

Ingress Controller:界说入流量规矩,可做七层HTTP负载君合。

Egress Controller:界说出流量规矩。

交互流程:经过与Kubernetes API 交互,动态感知集群Ingress 规矩,按照自界说的规矩生成(负载均衡器)装备文件,并经过reload来从头加载。

云原生入门到进阶,1篇就够了!

(2)Underlay与Overlay网络

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

Underlay网络形式: 底层承载网络,是网络通讯的根底。

  • 优势:复用基建,网络扁平,功能优势。

  • 下风:协作杂乱,安全问题,办理本钱。

许多场景下事务方希望容器、物理机和虚拟机可以在同一个扁平面中直接经过IP进行通讯,经过Floating-IP网络完结。

Floating-IP形式将宿主机网络同一网段的IP直接装备到容器中。

这种形式为了确保容器与宿主机的交流机二层连通,需求在物理机上搭一个虚拟网桥。

详细挑选哪种网桥,主流有:Linux bridge、MacVlan、SRIOV 三种形式。

  • BridgeBridge:设备内核最早完结的网桥,功能与OVS相当,可以运用到一切场景。

  • MacVlan:一个简化版的bridge设备,为了阻隔需求内核,完结时不答应MacVlan容器拜访其宿主机IP和Service Cluster IP。

  • SR-IOV 技能:一种根据硬件的虚拟化处理计划,可进步功能和可伸缩性。

SR-IOV标准答应在虚拟机之间高效共享 PCIe(快速外设组件互连)设备,而且它是在硬件中完结的,可以获得可以与本机功能媲美的 I/O 功能。

云原生入门到进阶,1篇就够了!

Overlay网络:是一种树立在另一网络之上的核算机网络。

  • 优势:独立自治,快速扩展,网络战略。

  • 下风:杂乱层级,功能丢失,定制本钱。

云原生入门到进阶,1篇就够了!
Kubernetes相当于云原生的操作体系。

有人会问,凭什么云原生的操作体系这杆大旗?

主要原因是:Kubernetes处理了一个分布式操作体系最中心的核算、存储、网络三种资源。

CNI容器网络一致标准

  1. CNCF项目,为Linux容器供给装备网络接口的标准和以该标准扩展插件供给根底函数库。

  2. CNI指令行调用标准,其插件在主机上直接切换进入容器网络命名空间,为容器创立网络设备,装备IP,路由信息。

CNI标准内容:

  1. 输入:ADD/DEL操控指令,CNI目录,容器ID,网络命名空间,网卡称号。

  2. 装备文件:标准部分:cniVersion,Name,Type,IPAM。

  3. 输出:设备列表、IP资源列表、DNS信息。

插件运用如:

  1. Bridge:Linux网桥CNI完结,选用网卡对链接网桥和容器。

  2. Host-device:将主机设备直接移动到容器命名空间中。

  3. PTP:创立虚拟网卡对,选用路由方法完结对外互联。

  4. MacVlan:网卡多Mac地址虚拟技能完好支撑vlan。

  5. Vlan:Vlan设备CNI完结,答应容器和主机分属不同LAN。

  6. IPVlan:网卡上根据IP完结流量转发。

(3)Overlay网络-Flannel计划

云原生入门到进阶,1篇就够了!

CoreOS(被Red Hat收购)为 Kubernetes专门定制规划的overlay网络计划。

03层网络计划完结:在每台主机布置flanneld进程完结网段分配,路由操控,选用多种转发机制完结流量跨机交互。

Flannel责任:

  1. 子网办理:每个主机分配仅有的子网。

  2. 互联方法:为同Overlay平面容器分配仅有IP。

Etcd存储:容器之间路由映射。

SubNetManager:子网资源区别、IP资源申请开释的接口界说。

Backend:针对网络互联方法的接口界说。

  1. UDP,UDP封包转发,主张仅调试运用。

  2. VxLAN(主张),运用内核vxlan特性完结封包转发。

  3. Host-GW,主机2层互联情况下较高功能互联方法。

  4. IPIP,运用IPIP地道完结封包和转发。

  5. IPSec,运用IPSecurity完结加密封包转发。

  6. AliVPC,对接阿里云VPC路由表完结网络互联。

  7. AWSVPC,对接Amazon VPC路由表完结网络互联。

云原生入门到进阶,1篇就够了!

Flannel的单机互联计划:

子网分配:充任虚拟交流机/网关人物,衔接一切本机容器,完结虚拟子网构建。

Bridge:经过NAT凭借主机网络完结外部服务拜访。

Veth pair:一端设置到容器网络namespace,一端链接bridge完结容器接入网络。

对外拜访:为每个节点分配独立不冲突的24位子网。

云原生入门到进阶,1篇就够了!

Overlay处理计划:跨Node的Pod之间通讯经过Node之间的Overlay地道。

责任:路由操控,数据转发。

主要流程:

  • 本节点设置:设备创立、本地路由创立、回写本地信息。

  • 监听其他节点信息:更新ARP信息、更新FDB、更新路由信息。

(4)Overlay网络-Calico计划

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

Calico项目:是纯三层的虚拟网络处理计划,旨在简化、扩展和保护云网络的容器计划。

Calico优势:

  • 可扩展性:选用IP路由支撑大规模网络。扩展便当,容错性高。

  • 网络安全:支撑Kubernetes 网络战略,支撑自界说网络战略。

  • 广泛集成:集成Kubernetes ,Mesos,支撑OpenStack,AWS,GCE,Azure。

Calico缺乏:

  • BGP支撑问题:需求网路设备支撑BGP协议,不然需求追加IPIP地道。

  • 规划2层直连:需求节点做良好的规划完结2层网络直接互联。

  • 大规模装备杂乱:网络规划,手动布置Route Reflector,增加API署理。

要害组件:

  • BGP Client:和其他节点互联,发布当时节点路由并学习其他节点路由。

  • Confd:同步节点装备信息发动BGPClient。

  • Felix:担任虚拟设备监控,ACL操控、状况同步的agent。

  • Calico:CNI插件,担任容器设备创立。

  • Calico-IPAM:CNI插件,担任容器网段办理与IP地址办理。

  • RouteReflector:对接BGPclient完结路由中转。

  • Etcd/Kube-apiserver:Calico数据存储。

  • typha:应对大规模节点接入时作为数据缓存proxy。

  • RouteReflector装置:集群超越100个节点时强烈主张启用,经过RR中转大局路由信息。

云原生入门到进阶,1篇就够了!

Calico单机互联计划:

  • Veth-pair:一端设置到容器,一端放置在主机上,为容器供给网络出入口。

  • 路由战略:针对IP和设备设置路由条目,在主机上完结互联。

云原生入门到进阶,1篇就够了!

Calico跨机互联计划:

  • 同网段/BGP支撑:主机之间经过2层直连或许网络支撑路由转发至方针主机。

  • 跨网段IPIP互联:网络设备不支撑BGP协议情况下,选用IPIP地道完结跨网段互联。

  • 跨网段VxLAN互联(Cannel):集成flannel,底层经过VxLAN完结跨机转发。

云原生入门到进阶,1篇就够了!

服务网格Istio

云原生入门到进阶,1篇就够了!

(一)服务网格概述

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

(二)Istio操控面

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

(三)Istio数据面

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生-主流组件

云原生入门到进阶,1篇就够了!

(一)Prometheus

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

(二)Grafana

云原生入门到进阶,1篇就够了!

(三)Elasticsearch + Fluentd + Kibana

云原生入门到进阶,1篇就够了!

(四)Jaeger

云原生入门到进阶,1篇就够了!

(五)Chaos Engineering

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生-常用网络技能

云原生入门到进阶,1篇就够了!

(一)主机网络

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

iptables是运转在用户空间的运用软件,经过操控Linux内核netfilter,来办理网络数据包的处理和转发,存在“表(tables)”、“链(chain)”和“规矩(rules)”三个层面。

  • 每个“表”指的是不同类型的数据包处理流程,例如filter表表示进行数据包过滤,而NAT表针对衔接进行地址转化操作。

  • 每个表中又可以存在多个“链”,体系按照预定的规矩将数据包经过某个内建链,例如将从本机发出的数据经过OUTPUT链。

  • 在“链”中可以存在若干“规矩”,这些规矩会被逐一进行匹配,假如匹配,可以履行相应的动作,例如修改数据包,或许跳转。

(二)Underlay网络技能

云原生入门到进阶,1篇就够了!

VLAN虚拟局域网:是将一个物理LAN在逻辑上区别成多个播送域的通讯技能。每个VLAN是一个播送域,VLAN内的主机间通讯就和在一个LAN内一样。

没有区别VLAN:LAN局域网:

  • 优势:简略,静态,IP地址与交流机关联。

  • 下风:搬迁域受限,不能机房内随意搬迁。交流机下IP需求提前规划好,约束虚拟比。

区别VLAN:虚拟局域网:

优势:IP地址与交流机无关,虚拟机可以在机房规模内搬迁。

VLAN间则不能直接互通,这样播送报文就被约束在一个VLAN内。

有人会问,交流如何区别不同VLAN?

交流机可以分辩不同VLAN的报文,需求在报文中增加标识VLAN信息的字段。数据帧中的VID(VLAN ID)字段标识了该数据帧所属的VLAN,数据帧只能在其所属VLAN内进行传输。

(三)Overlay网络技能

云原生入门到进阶,1篇就够了!

VXLAN虚拟扩展局域网:

  • 是对传统VLAN协议的一种扩展。

  • 是一种网络虚拟化技能,企图改善云核算布置的可扩展性问题。

处理哪些问题?

  • vlan的数量约束(12bit->24bit),VLAN报文Header预留长度只有12bit,只支撑4096个终端。

  • VNI(VXLAN Network Index)标识某条指定地道。

  • 不改动IP完结服务器搬迁。

传统二三层网络架构约束了虚拟机的动态搬迁规模。

VXLAN在两台TOR交流机之间树立一条地道,将服务器发出的原始数据帧加以“包装”,好让原始报文可以在承载网络(比方IP网络)上传输。

当抵达意图服务器所衔接的TOR交流机后,离开VXLAN地道,并将原始数据帧康复出来,继续转发给意图服务器。VXLAN将整个数据中心根底网络虚拟成了一台巨大的“二层交流机”。

VXLAN网络模型

  • UDP封装(L2 over L4):将L2的以太帧封装到UDP报文即(L2overL4)中,并在L3网络中传输。

  • VTEP,VXLAN地道端点,对VXLAN报文进行封装宽和封装。

  • VNI,VXLAN地道标识,用于区别不同VXLAN地道。

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

  • 矢量性协议:运用根据途径、网络战略或规矩集来决议路由。

  • AS(自治域):AS是指在一个实体管辖下的具有相同选路战略的IP网络。

BGP网络中的每个AS都被分配一个仅有的AS号,用于区别不同的AS。

  • eBGP(域外BGP):运转于不同AS之间的BGP,为了避免AS间发生环路。为了避免AS间发生环路,当BGP设备接收EBGP对等体发送的路由时,会将带有本地AS号的路由丢掉。

  • iBGP(域内BGP):运转于同一AS内部的BGP,为了避免AS内发生环路。

  • RR(路由反射器):经过集中反射同步,处理全连通的网状网格结构路由同步问题。

EBGP+IBGP完结AS间的路由传递:一个常见的IP主干网的拓扑结构,主干层和汇聚层分别是两个自治体系,AS100有两个出口设备SwitchC和SwitchD,两个AS之间需求进行路由互通。

云原生入门到进阶,1篇就够了!

总结-云原生

云原生入门到进阶,1篇就够了!

云原生入门到进阶,1篇就够了!

云原生运用:docker运用打包、发布、运转,Kubernetes服务布置和集群办理,Istio构建服务治理才能。

云原生入门到进阶,1篇就够了!

云核算以“资源”为中心,要害技能:

  • 虚拟化:SDX,NFV。

  • 资源池化:弹性快速扩缩容。

  • 多租化:提高云厂商的资源使用率。

典型代表:核算、网络、存储三大根底设备的云化。

云核算以“运用”为中心,要害导向:

  • 规划之初,重视更好习惯云,充分发挥云优势。

  • 云原生已成为企业数字创新的最短途径。

  • 云原生一系列IAAS、PAAS、SAAS层技能,支撑产品高效交给、安稳运维、持续运营。

【私家观念】

  • 以“资源”为中心的云,将成为“底层根底设备”,使用云原生以“运用”为中心赋能本身事务。

  • 云的年代,已经来临。作为云的运用者、从业者,更多思考如何使用云赋能事务产品。

  • 商业市场形式从“大鱼吃小鱼”靠信息不对称,向“快鱼吃慢鱼”转变。我们有必要使用趋势,拥抱云原生。

阅览原文