云基础知识

基础

SaaS:software as a service,软件只通过网络,不需安装即可使用;

PaaS:plateform as a service,提供平台与解决方案服务,提供构建应用程序的平台能力,如开发工具、软件中间件、操作系统、监控维护,减速上层应用软件的构建速度、减低维护成本使应用软件只关注业务逻辑;

laaS:infrastructure as a service,提供运行处理、存储、网络及各种基础运算资源,用于部署执行操作系统等应用程序;

云原生:在公有云、私有云和混合云等动态环境中构建运行可弹性扩展的应用;由容器、网络服务、不可变基础设施和声明式API等组成的系统。它们容错性好、易于管理、松耦合;可对系统做频繁和可预测的重大变更。

微服务

小:粒度小,专注于单一任务;

独立:有单独的进程;

轻:使用轻量级的通信机制,如HTTP或REST;

松耦合:可独立部署,独立运行,独立编译;

优点:容易演进、扩展、快速交付、共享服务;

缺点:部署、监控、运维、测试复杂。

微服务的治理:负载均衡、服务容错、服务降级、服务限流。

管控网格 ServiceMesh

基础设施层,处理服务间的通信。在云原生中处理拓扑间请求的可靠传输。实际中通常为轻量级网络代理,解决系统架构微服务后的服务间通信和治理问题。服务网格实现了数据面(业务逻辑)和控制面的解耦。

微服务的演进:

第一代:服务治理能力内嵌在业务代码中;

第二代:服务治理能力抽象到统一SDK;

第三代:服务治理能力归一到服务网络;

服务治理与业务逻辑解耦,服务治理能力下沉到基础设施层。

优势:基础架构逻辑从业务代码中剥离,自由选择技术栈,业务开发部门只需关注业务开发逻辑。

劣势:复杂,需要额外的网络跳转。

容器Docker

基于Linux内核的Cgoups、Namespace和Union FS等技术,对进程封装隔离,属于操作系统层面的虚拟化技术。虚拟机是对操作系统的虚拟化,容器是对操作系统内核的虚拟化。

虚拟机:采用CPU、网卡等硬件虚拟化技术,隔离性强,提高资源利用率(低于容器),虚拟化性能差,镜像庞大,创建启动慢,资源虚拟化粒度低。

容器:OS level 不依赖硬件,隔离性弱,资源粒度小,利用率高,计算存储无损耗,网络损耗高,docker image 200-300M,秒级创建(<10s),并发受限仓库和宽带,启动快。

Image:容器的镜像可运行多个容器实例;

Container:通过镜像生成运行态实例,可写;

Dockerfile:创建镜像的自动化脚本;

Run:镜像生成运行容器;Push/Pull:从Registry获得镜像或推送镜像到Registry。

Commit:运行期间的容器做成镜像;

Docker提供隔离的运行环境:文件系统、网络、进程号、用户、进程间通信隔离。

Docker容器的资源限制:CPU、内存、磁盘IO资源。

分层镜像:镜像分成多层,上层镜像依赖底层镜像,上层为可写,其余都是只读层;当需要修改时,采用copy on writer技术把要修改的我呢间拷贝到最上层的可写层。

Kuberbetes

POD:k8s中能够创建、调度、管理的最小部署单元,是一组容器的组,不是单独的应用容器。

POD运行在一个共享的应用上下文中,同一个POD里的容器共享同一个网络命名空间,IP地址及端口空间和卷。

POD的生命周期是短暂的,其被调度到节点,保持这个节点上直到被销毁。

Deployment

用于无状态服务,部署在什么节点,升级策略等。

Statefulset

管理状态和部署,解决各个pod实例独立生命周期管理,提供各个实例的启动顺序和唯一性。

稳定:唯一的网络标识符,持久存储;

有序:部署和扩展;删除和终止;自动滚动更新;

Daemonset

可让所有的Node节点操作同一个POD,节点加入到kubernetes集群中,POD会被调度到该节点上运行,当节点被从集群移除,被调度的POD会被移除,如果删除Daemonset,所有跟这个Daemonset相关的坡都是都会被删除。

Service

主要用于调测;定义了pods的逻辑集合和访问这个集合的策略,pods通过定义service提供label选择器完成。

API基本构成:typemata,objectmate,spec(期望状态),status(实际状态)

调度器:scheduling,为pod找到合适Node;

POD网络

一个pod一个IP,每个pod内所有容器共享网络namespace(同一个IP),容器间直接通信不需要NAT;Node和容器直接通信不需要NAT;容器和容器自身看到的IP一样。

集群内方位走service,集群外访走ELB(4层)/Ingress(7层)

声明式API及不可变基础设施

适合实例创建后变为只读状态,如需修改和升级,需要使用新的实例替换。

十二要素

基准代码:一份基准代码,多分部署;不允许多个应用共享一份基准代码。

依赖:

配置:

后端服务:

构建、发布、运行:

进程、易处理、并发:

新增三要素:API first、telemetry、认证和授权原则;

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值