云原生(字数限制)

目录

一、什么是云原生

二、容器与镜像

2.1 什么是容器,容器镜像

2.2 容器运行时生命周期

2.3 容器和VM之间的差异

 阿里云镜像服务加速

 第一个docker实例测试

 三、Kubernetes

3.1 k8s架构

3.2 核心概念

四、Pod

4.1 理解Pod

 4.2 Pod面临的问题


个人理解:

微服务的运用:将传统集中式项目的功能模块拆分为粒度更小的微小服务,每一个微服务都对外提供一个完成的功能;

 在容器中,存放的是一个应用进程,若干容器构成一个进程组提供一个功能,微服务,也就是pod;pod是k8s中调度的基本单位

一、什么是云原生

云原生:一种软件架构思想

为用户提供敏捷的,可扩展,可复制的方式利用云的能力

思想理论:

不可变基础设施:容器镜像实现;容器技术是自包含的,可以完全在不同环境中进行迁移。

        对比传统基础设施,每一个服务器都是特殊独立的;每一次更新都需要单独进行,整个过程需要不断调整和修改

         在云上的设施,在应用部署完成后就不会在修改;当需要更新的时候,通过容器镜像替换旧服务。因为容器提供自包含(应用运行所需要的所用依赖)的环境。体现了容器的敏捷性,可扩展性。

        可实现水平扩容,能够快速的在切换实例的数量。

云应用编排理论:容器设计模式,k8s

二、容器与镜像

        OS中的进程,相互可见,可以进行通信;共用同一文件系统,CPU的资源

        但是面临问题是:高优先级进程可入侵低优先级进程。资源之间的争夺

        解决方式:Linux中使用chroot将子目录作为根目录,达到视图隔离,拥有自己的文件系统;使用cgroup对资源进行隔离,限制资源的使用率。

2.1 什么是容器,容器镜像

        容器是一个视图隔离,资源可限制,独立文件系统的进程集合

        容器镜像也就是容器运行时所有需要的所有文件系统的集合

容器里PID = 1的进程就是应用本身

        管理虚拟机 = 管理基础设施

        管理容器 = 管理应用本身

2.2 容器运行时生命周期

        使用docker run的时候,使用指定的运行程序运行需要的镜像;这个进程称为initial进程;容器的生命周期可以看做与initial进程一致

        但是在initial进程结束后,所有子进程也会退出;这可能导致数据的丢失,因此使用数据卷的结构持久数据到指定目录。(数据卷的生命周期是独立的,将数据卷挂载到容器,从而获取数据)

2.3 容器和VM之间的差异

        VM:虚拟机,VM的隔离级别更高,将宿主机的一部分资源交付VM创建独立的区域,而这份资源很难在用到其他地方。

        容器化:隔离是针对进程的,相对隔离程度低,只需要一个独立的文件系统提供需要的文件集合。启动速度快于VM,消耗的资源空间小。

 阿里云镜像服务加速

        阿里云搜索:容器镜像服务 控制台

        

 第一个docker实例测试

  1.从docker中拉取镜像

2.运行程序 docker run hello-world

 3. 查看镜像 docker images

 三、Kubernetes

自动化的容器编排平台

 调度,自动恢复,负载均衡

3.1 k8s架构

 master:

 controller: 集群状态的管理 -》 自动恢复,扩容。。

scheduler: 调度器 

 例子

3.2 核心概念

1.pod

        最小调度的单元; 由一个容器或多个容器组成

        pod中的容器共享其中的运行环境

2.volume

        声明pod中容器可访问的文件目录;可以被挂载到一个或多个容器中的指定路径

3.deployment

        定义pod的副本数目,版本等;通过控制器维持pod的数目,当pod死亡的时候,可以自动恢复失败的pod;可以实现滚动升级,回滚等

 4. service

        提供多个pod实例的稳定访问地址;做负载均衡

        支持方式:NodePort, ClusterIP, LoadBalancer

 

5.namespace 

        集群内部逻辑隔离机制;每个资源都属于一个namespace, 同一个namespace下面资源唯一

 6.访问方式

        用户通过HTTP + json/yaml的方式进行访问;通过http请求,内容使用yaml的形式就行撰写。

 通过labels可以筛选一组pod

四、Pod

4.1 理解Pod

 k8s相当于云时代的操作系统 -》 容器相当于进程 -》 Pod中可以含有多个容器,即进程组

 综上类比:Pod是一个逻辑结构,对于Helloworld中的四个进程,不能由一个容器进行管理,所以创建四个容器并组成一个相互协作,提供同一服务的pod

k8s中kube-proxy似乎也有这个回滚机制

 

 4.2 Pod面临的问题

 设计模式的作用: 解耦和重用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值