【云原生】基本概念梳理:容器、镜像、仓库和集群

有条件的同学尽可能都开始使用 ChatGPT、new bing 和 GPT-4,这些是新的生产力工具。
它们或许不能替代某个岗位,但做个不恰当的比方,没有它们时的学习效率是坐马车,使用这些工具的学习效率是开汽车。

一、引言

1.1 先问问 ChatGPT 🤖

关键在于清晰、准确地描述你的问题,ChatGPT 不同于搜索引擎的地方在于可以 “哪里不会问哪里”。

在这里插入图片描述
举个例子,我对 Docker 容器的概念还是不理解,继续追问。

在这里插入图片描述

1.2 对教育的思考 🏫

因此,有了 ChatGPT 后,我们对 教育 应当又有了新的思考,现在的主流语境称千禧年附近出生的人为 “Z世代”,是互联网的原住民。那么,15后、20后是否有可能是 AI 时代的原住民呢?我觉得是很有可能的,毕竟我小学的时候需要普及电脑课,高中时代需要掌握信息技术课程,而目前人工智能的教育有向中小学教育拓展的趋势,甚至是少儿编程。记得当时面试 CityU 时教授说,现在深圳的中学生都在学 Python。就像电脑的普及的让知识获取的成本大大降低一样,ChatGPT 的出现或许可以让学习知识的成本大大降低,因为可以做到定制化地哪里不会问哪里(尽管不一定正确)。

二、概念理解

CNCF 对☁️ 云原生 的定义
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。

解释一下上述名词:

  • 公有云:是服务于广大用户,企事业单位的云基础设施,第三方的云服务提供商为用户提供可通过互联网访问的虚拟环境中的服务器空间。常见的公有云平台有亚马逊的 AWS,谷歌的 GCP,微软的 Azure,阿里云,华为云等。
  • 私有云:它为一个企业或组织提供专用的云环境。私有云可以由企业内部的 IT 团队搭建,在内部防火墙后进行操作,便于企业对云计算资源进行管理。
  • 混合云:一种云计算模型,通过安全连接组合一个或多个公有云、私有云环境,从而允许在不同的云环境中共享数据和应用程序。
  • 声明式 API:是一种用于表示系统状态和行为而不指定其实现方式的编程模式。它侧重于描述期望的系统行为,开发人员只需要描述所需的状态,而不用关心如何实现这个状态。常见的声明式 API 有:SQL,YAML,HTML 等。在云原生架构中,声明式 API 被广泛应用于容器编排、服务网格、配置管理、监视报警等方面。

2.1 Docker 镜像 (Image)🪞

Docker 和我一样,也不过是软件行业里平平无奇的搬砖人罢了 😡。

Docker 镜像(Image)是一种轻量级,可执行(通过 docker run 执行)的独立软件包。除了提供容器运行时所需的程序、库、资源和配置外,还包含一些为运行时准备的配置参数(如环境变量、用户等)。镜像是静态的,不包含任何的动态数据,其内容在构建出容器后也不会发生改变。

Docker 和 虚拟机(VM)很像,都是隔离出一个可以独立运行的程序环境,但它们是不同的概念,不能混为一谈。

2.1.1 镜像的分层存储

在 Docker 设计时,充分利用 Union FS(联合文件系统)技术,设计为分层存储。所谓分层存储值得是在 Docker 镜像时,会一层层地构建,前一层是后一层的基础,但对外的表现是只有最上层可以被看到。下面是一个经典的分层存储示意图:

在这里插入图片描述
例如 Docker 镜像的最底层是 bootfs(boot file system),和典型的 Linux/Unix 系统一样,包含 bootloader 和 kernel。再往上是 rootfs(root file system),包含 Linux 系统的标准目录,如 /dev,/proc,/bin,/etc 等,根据操作系统不同有 Ubuntu,CentOS 等。
FROM debian 表示 rootfs 加载的是 debian 操作系统;RUN apt-get install emacs 表示基于已有的基础镜像,构建新镜像;RUN apt-get install apache2 同。

2.2 Docker 容器 (Container)📦

镜像和容器(Container)是两个相关联的概念,比较好的理解方式是类比于 OOP 中的类与对象,镜像是类,容器是类的实例,即对象。如前所说,镜像是静态的,不包含任何动态数据;容器是动态的,它可以被构建、暂停、启动、停止、删除等。

容器的实质是进程,但和在宿主机上直接执行的进程不同,容器进程运行于独立的命名空间(namespace)。容器拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID 空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样,因此容易与虚拟机混淆。

容器的存储和镜像一样,也是分层存储,即在构建镜像的基础上创建一个容器存储层。容器存储层的生命周期与容器相同,容器删除时,容器存储层也会消失,存储的相应信息也会被删除。根据 Docker 最佳实践要求,不应向容器存储层写入任何数据,容器存储层保证无状态化,所有文件的写入操作应在 数据卷 或 绑定的宿主目录,这些位置会直接对宿主机发生读写,以此保证容器删除后数据不丢失。

2.2.1 Linux 的命名空间(namespace)

2.3 Docker 仓库 (repository)🏠

首先需要区分概念是:Docker registry 和 Docker repository
A registry is a storage and content delivery system, holding named Docker images, available in different tagged versions.
Repositories let you share container images with your team, customers, or the Docker community at large.

Docker 仓库是用于存储、管理镜像的地方,Docker 提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同 Tag 的镜像。Docker运行中使用的默认仓库是 Docker Hub 公共仓库。

2.3.1 Docker Hub

我自己总结的一句简要描述:

Docker Hub 是云原生时代的 Github。

2.4 Docker 集群 🕸️

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31999.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vsCode编辑器 快速国际化-以及一些国际化细节

i18n.code-snippets 配置 {"vue-i18n-mall": {"scope": "vue-html","prefix": "vt","body": "\\$t(passenger.$1)", //passenger-国际化文档名"description": "vue i18n mall"}…

消息队列之 RabbitMQ基本流程

介绍 关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时候把这块的知识整理记录一下了。 市面上的消息队列产品有很多,比如老牌的 Activ…

出现IllegalArgumentException:Could not resolve placeholder ‘xxx‘ in value “${xxxx}“ 的问题

在写一个SSM框架的整合项目时,出现了 Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder data.username in value "${data.username}"错误. 在查阅了很多资料,结果是自己的一个配置xml文件导致的: 引入了一个外部文件db.properties,需要…

后台返回数据中有换行符,但是在文本中不显示换行效果

之前在标签里面是这样写的 &#xff08;vue项目&#xff09; <div class"text">{{trainDetail.trainingContent}}</div>返回的后台数据是这样的 是含有换行符的 后面发现用v-htm就可以解决 <div class"text" v-html"trainDetail.trai…

Notepad++支持显示回车符,换行符,TAB键,行首,行尾等特殊字符

Notepad默认&#xff0c;也和其他编辑器一样&#xff0c;是不显示空格和TAB键的 &#xff0c;不过我最近在用Notepad写Python脚本过程中&#xff0c;常需要显示空格键和TAB键 以避免两者混合缩进&#xff0c;所以去设置了&#xff0c;将空格键和TAB键也显示出来。 下面以某H…

chatgpt赋能python:如何在Python中让print不换行

如何在Python中让print不换行 在Python编程中&#xff0c;print语句是一个非常常见和有用的功能。然而&#xff0c;有时候我们需要在一行中连续打印多个输出&#xff0c;但是默认情况下&#xff0c;print语句会自动换行&#xff0c;这就会导致输出不太理想。在这篇文章中&…

chatgpt赋能python:怎么一行输入不换行Python

怎么一行输入不换行Python Python是一种易学易用的编程语言&#xff0c;它广泛应用于Web开发、数据分析、机器学习等领域。在Python编程中&#xff0c;经常需要将多个语句写在一行&#xff0c;但是默认情况下&#xff0c;每写完一条语句&#xff0c;Python都会自动换行。这时候…

chatgpt赋能python:如何让Python输出内容不自动换行

如何让Python输出内容不自动换行 Python作为一种高级编程语言&#xff0c;使得许多开发人员乐于使用它来编写代码。然而&#xff0c;有时Python的自动换行功能会对开发人员造成困扰。在编写Python脚本时&#xff0c;输出的内容可能会被换行符分割成多个行&#xff0c;并最终导…

chatgpt赋能python:如何让Python输出结果不换行?

如何让Python输出结果不换行&#xff1f; Python是一门高级编程语言&#xff0c;它是开发应用程序的首选语言之一。当使用Python编写应用程序时&#xff0c;我们经常需要输出一些内容到控制台。但是&#xff0c;Python默认情况下&#xff0c;每输出一行内容都会自动换行&#…

返回数据中的换行符,标签内不显示换行问题

&#xff08;接口返回数据-已返回换行符&#xff09;&#xff1a; IE返回数据&#xff1a; chorme返回数据&#xff1a; 页面显示&#xff08;不是textarea&#xff0c;是div&#xff09;&#xff08;IE Chrome&#xff09;&#xff1a; 问题&#xff1a;换行符已返回&#x…

PlotNeuralNet + ChatGPT创建专业的神经网络的可视化图形

PlotNeuralNet&#xff1a;可以创建任何神经网络的可视化图表&#xff0c;并且这个LaTeX包有Python接口&#xff0c;我们可以方便的调用。 但是他的最大问题是需要我们手动的编写网络的结构&#xff0c;这是一个很麻烦的事情&#xff0c;这时 ChatGPT 就出来了&#xff0c;它可…

chatgpt赋能python:Python密码校验-保护您的账户安全

Python密码校验-保护您的账户安全 密码是我们在线账户的第一道防线。一个强壮的密码可以保护我们的账户不被黑客攻击&#xff0c;保护个人隐私和资金安全。在这篇文章中&#xff0c;我将向您展示如何使用Python编程语言创建一个密码校验程序&#xff0c;以确保您的密码足够强壮…

零代码编程:用ChatGPT自动输入账号密码来登陆网站

现在很多网站都需要登陆账号和密码才能访问。如果要进行一些批量自动化操作&#xff0c;首先要做的就是模拟自动登陆。 以萝卜投研网站为例&#xff1a;https://robo.datayes.com/v2/fastreport/industry 打开网站后&#xff0c;默认出现这样一个登陆界面&#xff0c;要点击右…

chatgpt赋能python:Python怎么自动输入账号密码

Python怎么自动输入账号密码 在现代互联网时代&#xff0c;我们几乎每天都要登录各种不同的网站和应用程序。过多的账号和密码可能让我们感到头痛&#xff0c;尤其是如果我们不使用密码管理器。如果你经常登录页面&#xff0c;那么Python可以自动化这个过程&#xff0c;免去了…

chatgpt赋能python:Python如何利用自动化输入账号密码来提高工作效率

Python如何利用自动化输入账号密码来提高工作效率 在许多日常工作中&#xff0c;我们需要频繁地登录各种各样的账号&#xff0c;并且还需要输入密码。这可能会让一些人感到繁琐和乏味&#xff0c;严重影响了工作效率和效率。幸运的是&#xff0c;Python可以帮助我们解决这个问…

火爆CV圈的SAM是什么?

SAM是什么 前言 最近几周&#xff0c;人工智能的圈子里都在讨论SAM&#xff08;Segment Anything Model&#xff09;&#xff0c;一个号称&#xff08;零样本&#xff09;分割一切的图像分割模型。 图&#xff1a;Segment Anything Demo 2023年4月6号&#xff0c;Meta AI发布…

若依(ruoyi-cloud)脚手架解读,一篇精通,包票上手~

视频教程传送门&#xff1a; 基于SpringCloud Alibaba技术栈&#xff0c;若依微服务版(RuoYi-Cloud)脚手架入门精解&#xff0c;保证上手那种~_哔哩哔哩_bilibili基于SpringCloud Alibaba技术栈&#xff0c;若依微服务版(RuoYi-Cloud)脚手架入门精解&#xff0c;保证上手那种~…

chatgpt赋能python:Python主菜单:让你的网站更加用户友好

Python主菜单&#xff1a;让你的网站更加用户友好 如果你是一个使用Python编程语言的网站开发者&#xff0c;那么你肯定需要一个主菜单来引导你的用户。一个好的主菜单可以让你的网站更加用户友好&#xff0c;方便用户快速找到需要的内容。而怎样设计一个优秀的主菜单呢&#…

PrimeVue - 全面升级!免费开源、优雅好用的 Vue3 UI 组件库,可选主题超多

新版本发布了&#xff0c;主题超好看&#xff0c;还有很多独有的组件&#xff0c;强烈推荐给大家。 关于新版本 PrimeVue PrimeVue 是一个用于 Vue.js 3.x 开发的 web UI 组件库。早在2021年10月我就推荐过这个组件库&#xff0c;至今一年多的时间&#xff0c;开发迭代非常快…

安卓APP源码和设计报告——健身系统

一、设计背景 1.需求分析 对于很多人来说拥有一副好身材能让自己增添不少魅力;对于爱吃而又担心自己发胖的人来说适当的运动健身是最好的选择。移动互联网时代&#xff0c;市场上“约跑”“约健身”健身APP软件成为新时代闺蜜朋友的互动模式&#xff0c;健身热潮的来临&#xf…