学习容器和容器管理平台简单笔记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 学习容器和容器管理平台简单笔记

1. 应用架构演变:

传统单体架构: 一个大而全的超级项目,开发,扩展受到的很大的限制

SOA架构:面向服务的架构;SOA服务思想:重复代码抽取,以服务为中心管理;系统之间通过ESB调用;ESB作为系统之间的桥梁 ;

微服务架构: 核心思路是拆分。真正实现服务自治;面临一个服务部署落地的问题

2. Docker与容器:

​ Docker是国外公司dotCloud公司开源的一个容器引擎,基于go开发,并托管到github上;

​ Docker是容器的管理工具(平台);容器中部署微服务,通过docker进行管理;

2.1 虚拟化和容器:

在这里插入图片描述

​ 虚拟化结构:

    > HW 硬件
    >
    > OS 基于硬件的操作系统
    >
    > Hypervisor: 虚机层VVM(运行在硬件层和操作系统之间,共用一套物理设备)
    >
    > 虚拟机:独立的操作系统

​ 容器架构: 相对于虚拟机,隔离性较弱;但是更轻,更灵活;

HW 硬件

OS 硬件操作系统

Docker Engine: Docker引擎

容器: 运行服务,无操作系统

2.2 Docker容器核心技术(基于linux内核)

​ Namespace:对容器进行网络,通信,文件,权限等进行隔离

​ Cgroups:为容器设置系统资源配额,包括CPU,内存,IO等

​ 其他:linux kernel内核中技术;

2.3 Docker技术架构:
在这里插入图片描述

​ Daemon: docker进程

​ Api: DockerApi 调用Daemon

​ client: 客户端,doker命令

2.4 Docker核心概念:

​ 容器、镜像Docker Image、镜像仓库

在这里插入图片描述
在这里插入图片描述

3. k8s容器集群:

3.1 k8s概述:

​ k8s是Kubernetes简称,是用于自动部署、扩展和管理容器化应用程序的的开源系统;是google的大规模容器管理系统的开源版本;

  • K8s提供的服务功能有:

    基于容器的应用部署,维护和滚动升级

    负载均衡和服务发现

    跨机器和地区的集群调度

    自动伸缩

    无状态和有状态服务

    插件机制保证的扩展性

3.2 k8s技术架构:

​ k8s是master-slave架构;

  • master:集群的管理控制中心
  • minion: node组件,提供容器集群的运行环境
  • 各节点核心组件如下:

  • k8s整体技术架构:

在这里插入图片描述

  • 核心概念

    • Pod: k8s可以创建的最小管理单元,代表集群上正在运行的一个进程;一个进程可以包含多个或一个容器;pod生命周期短暂,IP地址随时变化
    • Deployment:创建和更新容器化应用,保证pods副本的数量;
    • Service: 抽象的概念,定义了pod的逻辑分组和访问策略;方便实现服务发现和负载均衡
    • Lable: 标签,用于实现service和pod映射的键值对
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
12月前
|
存储 Kubernetes 持续交付
k8s学习
【10月更文挑战第1天】
425 4
|
10月前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
240 4
|
12月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
212 2
k8s学习--YAML资源清单文件托管服务nginx
|
12月前
|
Kubernetes 监控 测试技术
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
437 2
k8s学习--基于Ingress-nginx实现灰度发布系统
|
11月前
|
存储 运维 Kubernetes
云端迁移:备份中心助力企业跨云迁移K8s容器服务平台
本文将简要介绍阿里云容器服务ACK的备份中心,并以某科技公司在其实际的迁移过程中遇到具体挑战为例,阐述如何有效地利用备份中心来助力企业的容器服务平台迁移项目。
|
12月前
|
存储 Kubernetes 调度
|
12月前
|
Kubernetes Linux 持续交付
docker容器学习
【10月更文挑战第1天】
140 1
|
12月前
|
Kubernetes API 调度
k8s学习--pod的所有状态详解(图例展示)
k8s学习--pod的所有状态详解(图例展示)
1295 1
|
12月前
|
Kubernetes JavaScript 前端开发
k8s学习--chart包开发(创建chart包)
k8s学习--chart包开发(创建chart包)
596 1
|
12月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--Traffic Shifting 流量接入
k8s学习--Traffic Shifting 流量接入
146 1

相关产品

  • 容器服务Kubernetes版
  • 推荐镜像

    更多