加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Docker 到底香不香结局一目了然

发布时间:2021-05-22 08:17:50 所属栏目:教程 来源:互联网
导读:这时辰就必要我们的主角 Kubernetes 上场了,先来相识一下 K8s 的根基观念,后头再先容实践,由浅入深步步为营。 关于 K8s 的根基观念我们将会环绕如下七点睁开

这时辰就必要我们的主角 Kubernetes 上场了,先来相识一下 K8s 的根基观念,后头再先容实践,由浅入深步步为营。

关于 K8s 的根基观念我们将会环绕如下七点睁开:

Docker 的打点痛点

什么是 K8s?

云架构 & 云原生

K8s 架构道理

K8s 焦点组件

K8s 的处事注册与发明

要害题目

Docker 的打点痛点

假如想要将 Docker 应用于复杂的营业实现,是存在坚苦的编排、打点和调治题目。

于是,我们急切必要一套打点体系,对 Docker 及容器举办更高级更机动的打点。

Kubernetes 应运而生!Kubernetes,名词源于希腊语,意为「舵手」或「航行员」。

Google 在 2014 年开源了 Kubernetes 项目,成立在 Google 在大局限运行出产事变负载方面拥有十几年的履历的基本上,团结了社区中最好的设法和实践。

K8s 是 Kubernetes 的缩写,用 8 更换了 「ubernete」,下文我们将行使简称。

什么是 K8s ?

K8s 是一个可移植的、可扩展的开源平台,用于打点容器化的事变负载和处事,可促进声明式设置和自动化。

K8s 拥有一个复杂且快速增添的生态体系。K8s 的处事、支持和器材普及可用。

通过 K8s 我们可以:

快速陈设应用

快速扩展应用

无缝对接新的应用成果

节减资源,优化硬件资源的行使

K8s 有如下特点:

可移植:支持公有云,私有云,殽杂云,多重云 multi-cloud。

可扩展:模块化,插件化,可挂载,可组合。

自动化:自动陈设,自动重启,自动复制,自动伸缩/扩展。

云架构 & 云原生

①云和 K8s 是什么相关

云就是行使容器构建的一套处事集群收集,云由许多的大量容器组成。K8s 就是用来打点云中的容器。

②常见几类云架构

常见几类云架构如上图所示:

On-Premises(当地陈设)。

IaaS(基本办法即处事):用户:租用(购置|分派权限)云主机,用户不必要思量收集,DNS,硬件情形方面的题目;运营商:提供收集,存储,DNS,这样处事就叫做基本办法处事。

PaaS(平台即处事):MySQL/ES/MQ/...

SaaS(软件即处事):钉钉,财政打点。

Serverless:无处事,不必要处事器。站在用户的角度思量题目,用户只必要行使云处事器即可,在云处事器地址的基本情形,软件情形都不必要用户体谅。

假如认为欠好领略,保举阅读这篇文章:怎样普通表明 IaaS、PaaS、SaaS 的区别:

https://www.zhihu.com/question/21641778/answer/62523535 

可以预见:将来处事开拓都是 Serverless,企业都构建了本身的私有云情形,可能是行使公有云情形。

③云原生

为了让应用措施(项目,处事软件)都运行在云上的办理方案,这样的方案叫做云原生。

云原生有如下特点:

容器化,全部处事都必需陈设在容器中

微处事,Web 处事架构式处事架构

CI/CD

DevOps

K8s 架构道理

①K8s 架构

归纳综合来说 K8s 架构就是一个 Master 对应一群 Node 节点。下面我们来一一先容 K8s 架构图中的 Master 和 Node。

Master 节点布局如下:

apiserver 即 K8s 网关,全部的指令哀求都必必要颠末 apiserver。

Scheduler 调治器,行使调治算法,把哀求资源调治到某一个 Node 节点。

Controller 节制器,维护 K8s 资源工具。

etcd 存储资源工具。

Node 节点布局如下:

Kubelet 在每一个 Node 节点都存在一份,在 Node 节点上的资源操纵指令由 Kubelet 来执行。

Kube-proxy 署理处事,处理赏罚处事间负载平衡。

Pod 是 K8s 打点的根基单位(最小单位),Pod 内部是容器,K8s 不直接打点容器,而是打点 Pod。

Docker 运行容器的基本情形,容器引擎。

Fluentd 日记网络处事。

在先容完 K8s 架构后,我们又引入了许多技能名词。不要着急,先有整体观念,再各个击破。请耐性阅读下文,信托你必然会有纷歧样的收成。

K8s 焦点组件

①K8s 组件

K8s 是用来打点容器,可是不直接操纵容器,最小操纵单位是 Pod (间接打点容器):

一个 Master 有一群 Node 节点与之对应。

Master 节点不存储容器,只认真调治、网管、节制器、资源工具存储。

容器的存储在 Node 节点,容器是存储在 Pod 内部的)。

Pod 内部可以有一个容器,可能多个容器。

Kubelet 认真当地 Pod 的维护。

Kube-proxy 认真负载平衡,在多个 Pod 之间来做负载平衡。

②Pod 是什么?

表明如下:

Pod 也是一个容器,这个容器中装的是 Docker 建设的容器,Pod 用来封装容器的一个容器,Pod 是一个假造化分组。

Pod 相等于独立主机,可以封装一个可能多个容器。

Pod 有本身的 IP 地点、主机名,相等于一台独立沙箱情形。

③Pod 到底用来干什么?

凡是环境下,在处事陈设时辰,行使 Pod 来打点一组相干的处事。一个 Pod 中要么陈设一个处事,要么陈设一组有相关的处事。

一组相干的处事是指:在链式挪用的挪用连路上的处事。

④Web 处事集群怎样实现?

实现处事集群:只必要复制多方 Pod 的副本即可,这也是 K8s 打点的先辈之处,K8s 假如继承扩容,只必要节制 Pod 的数目即可,缩容原理相同。

⑤Pod 底层收集,数据存储是怎样举办的?

详细如下:

Pod 内部容器建设之前,必需先建设 Pause 容器。

处事容器之间会见 localhost ,相等于会见当地处事一样,机能很是高。

⑥ReplicaSet 副本节制器

节制 Pod 副本「处事集群」的数目,永久与预期设定的数目保持同等即可。

当有 Pod 处事宕机时辰,副本节制器将会立马从头建设一个新的 Pod,永久担保副本为配置数目。

副本节制器:标签选择器-选择维护一组相干的处事(它本身的处事)

ReplicationController 副本节制器:单选。

ReplicaSet 副本节制器:单选,复合选择。

selector: 

    app = web 

    Release = stable 

在新版的 K8s 中,提议行使 ReplicaSet 作为副本节制器,ReplicationController 不再行使了。

⑦Deployment 陈设工具

Deployment 陈设工具如下:

处事陈设布局模子

转动更新

ReplicaSet 副本节制器节制 Pod 副本的数目。可是,项目标需求在不绝迭代、不绝的更新,项目版本将会不断的的发版。版本的变革,怎样做随处事更新?

陈设模子:

ReplicaSet 不支持转动更新,Deployment 工具支持转动更新,凡是和 ReplicaSet 一路行使。

Deployment 打点 ReplicaSet,RS 从头成立新的 RS,建设新的 Pod。

⑧MySQL 行使容器化陈设,存在什么样的题目?

题目如下:

容器是生命周期的,一旦宕机,数据丢失

Pod 陈设,Pod 有生命周期,数据丢失

对付 K8s 来说,不能行使 Deployment 陈设有状态处事。

凡是环境下,Deployment 被用来陈设无状态处事,那么对付有状态处事的陈设,行使 StatefulSet 举办有状态处事的陈设。

什么是有状态处事?

有及时的数据必要存储。

有状态处事集群中,把某一个处事抽离出去,一段时刻后再插手呆板收集,假如集群收集无法行使。

什么是无状态处事?

没有及时的数据必要存储。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读