(二)云原生&k8s的架构及基本组件原理

这篇具有很好参考价值的文章主要介绍了(二)云原生&k8s的架构及基本组件原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.iaas 基础设施即服务

 

公司:服务器购买、建设机房、dns路由器、硬件、存储...--抽象成服务提供给公司(用户)使用

2.paas 平台即服务

在iaas层上进行了更高级层次抽象,iaas提供硬件服务,paas提供基础软件服务

3.saas 软件即服务

钉钉,企业微信

云原生:

架构:软件开发思想(软件架构思想)

应用:就是为了让应用程序(项目、mysql、elasticsearch...)都运行在云上容器中,这样的技术就叫做云原生

特点:

1.容器化:容器项目部署,起到了隔离的作用

2.微服务:实现原生最好采用微服务架构,微服务按照function拆分后,可以做到高内聚,低耦合,实现CI/CD

3.devops

开发+运维-开发运维的结合体。Devops是一种敏捷思维,开发一种组织形式

4.CI/CD

持续交付:不停机更新

云扩展思维:

caas container as a service

faas function as a service 函数即服务

service mesh 服务网格架构 服务治理-服务限流-服务降级-服务监控 istio

serverless 无服务架构,是指程序员开发不需要关系服务器的事情,只需要开发业务代码即可

如何云原生?

本地部署应用可能需要停机更新,而云原生就不需要,始终是最新的状态,支持频繁的变更

本地部署应用无法进行动态扩展(动态伸缩容),云原生可以利用云资源的弹性进行自动伸缩容,从而为企业降本增效

本地部署应用对物理硬件ip,网络端口有强依赖,云原生就不需要了

本地部署需要人肉运维,云原生实现自动化运维

容器编排技术:

为什么要管理容器(虚拟机)?

怎么扩容?(自动)

容器宕机了,怎么恢复?(自动)

更新容器会不会影响业务?(不影响)

如何监控?(自动)

如何调度?(自动)

数据安全(自动)

2.容器编排技术

2.1 docker-compose

docker-compose组件可以批量的创建容器,管理容器,粗颗粒度

2.2 swarm

swarm容器编排工具是docker公司自己的开发,但是docker公司自己都不使用,docker使用的kubernetes:kubernetes采用pod和label这样的概念把容器组合成一个个互相存在依赖关系的逻辑单元,相关容器被组合成pod后被共同部署和调度,形成服务。

kubernetes基本结构:

        1.master节点 :负责调度,存储集群状态(服务注册发现),提供统一api入口,一个master对应一群node节点

        2.node节点:node节点存储pod(pod内部封装容器),一个node节点理论上可以存储无数个pod,但是node节点存储pod的数量受限于硬件资源的限制,同时受限于内部服务器运行所占用的资源

3.kubernetes

borg系统。kubernetes也是google公司开发的,架构设计思想是参考borg系统来架构设计的

发送请求:kubectl 客户端指令,浏览器(可视化方式 rancher,dashboard)

master节点 :schedule调度器,负责计算该把pod调度到哪一个node节点

contollers: 控制器,负责维护node节点资源对象

apiServer:网关,所有请求都必须要经过网关

etcd 服务发现,注册。集群状态信息,调度信息

node节点 每一个node节点都运行一个kubelet进程,此进程负责本机服务的pod创建

(二)云原生&k8s的架构及基本组件原理

pod是k8s管理的最小基本单元,pod内部可以运行一个或多个容器,一般情况下,pod内部只允许一个容器运行,便于管理

docker:docker引擎,pod内部运行的都是容器,这个容器是由docker引擎创建的,docker引擎是node节点基础服务

kubelet:node节点代理,kubelet代理master节点请求,在本地node节点执行

kube-proxy:网络代理,主要用来生成网络规则,创建访问路由,创建service网络访问规则,负责均衡规则

fluentd:日志,日志收集

master节点

apiserver:集群的统一入口,各组件协调者,以http api 提供接口服务,所有对象资源的增删改查和监听操作都交给apiserver处理后再提交给etcd存储

manager controller:

        replication controller:副本控制器

        service cotroller:管理维护service(虚拟ip),提供负载以及服务代理

        endpoints controller: 管理维护endpoints,关联service和pod

        persistent volumn controller: 持久化数据卷控制器

        daemon set controller:让每一个node节点都运行相同的服务

        deployment controller:无状态部署服务

4.scheduler

创建pod的流程:

        1.kubctl发送创建pod的指令,此时这个指令被apiserver拦截,把创建的pod存储在etcd

        2.scheduler发起调用请求,此时这个指令被spiserver拦截,获取etcd中的podQueue NodeList

        调度算法:预选调度,优选策略

3.把选择合适的node、pod存储在etcd

4.node节点上有一个kubelet进程,发送请求获取pod,node对应创建资源

5.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       文章来源地址https://www.toymoban.com/news/detail-462604.html

到了这里,关于(二)云原生&k8s的架构及基本组件原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务 & 云原生:K8S 核心组件

    参考 Kubernetes 官方文档,简要概述 Kubernetes 中的核心组件用途及部分原理。 一个 K8S 集群,可以分为两个部分: 控制平面(Control Plane)。它是一套管理系统,专门来管理集群节点和服务,为集群做出全局决策,比如资源的调度,以及检测和响应集群事件,如图左侧所示。 kube

    2024年02月16日
    浏览(31)
  • k8s 基本架构

    k8s 也是逐步发展过来的,来看看以前和现在 支持的 node 数 和 pod 数对比 node 即 节点 , 早期的 k8s 版本能够支持 100 台节点, 现在 k8s 可以支持到 2000 台了 pod 数,早期的版本可以支持 1000 个, 现在的 k8s 可以支持到 150000 个了 对于应用部署架构,分为 无中心节点架构 和 有

    2024年02月10日
    浏览(37)
  • java 对接 k8s API、K8s基本架构、k8s常用命令

    引言: 当容器部署涉及到 多个节点 服务器,用docker、docker-compose 来部署就不是那么方便了,不能统一控制,不方便伸缩,配置统一管理、版本控制;当我们业务涉及到集群容器部署时,就考虑K8s、K3s 来实现。 k8s 架构组成: (一)Master :apiserver、scheduler、controller-manager 以

    2024年02月16日
    浏览(28)
  • K8s集群架构组件(3)

     (2)node组件 kubelet:master排到node节点代表,管理本机容器 kube-proxy:提供网络代理,负载均衡等操作

    2024年02月17日
    浏览(29)
  • 云原生Kubernetes:K8S集群各组件服务重启

    目录 一、理论 1.各组件服务重启命令 (1)Master节点+Node节点共同服务 (2)Master节点独有服务 (3)Node节点独有服务

    2024年02月03日
    浏览(32)
  • 云原生Kubernetes:Kubeadm部署K8S单Master架构

    目录 一、理论 1.kubeadm 2.Kubeadm部署K8S单Master架构 3.环境部署 4.所有节点安装docker 5.所有节点安装kubeadm,kubelet和kubectl 6.部署K8S集群 7.安装dashboard 8.安装Harbor私有仓库 9.内核参数优化方案 二、实验 1.Kubeadm部署K8S单Master架构 2. 部署流程  3.环境部署 4.所有节点安装docker 5.所有节

    2024年02月10日
    浏览(37)
  • 第二讲:k8s集群架构与相关组件

    目录 一、相关组件         1.1 控制面板组件(master)                 1.1.1 kube-apiserver                 1.1.2 kube-controller-manager                 1.1.3 cloud-controller-manager                 1.1.4 kube-schedule                 1.1.5 etcd         1.2 节点组件            

    2024年02月16日
    浏览(30)
  • 【云原生】K8S二进制搭建二:部署CNI网络组件

    解决了什么问题? 容器镜像(带有应用程序规范的文件)必须以标准化,安全和隔离的方式启动 标准化,因为无论它们在何处运行,都需要标准的操作规则。 安全,因为你不希望任何不应该访问它的人,对它操作。 隔离,因为你不希望应用程序影响其他应用,或受其他应用

    2024年02月10日
    浏览(30)
  • K8S原理架构与实战教程

    在介绍K8S之前,先来看看服务器的演变过程:物理机时代、虚拟机时代、容器化时代。 物理机时代的缺点: 部署慢 :每台服务器都要安装操作系统、相关的应用程序所需要的环境,各种配置 成本高:物理服务器的价格十分昂贵 资源浪费:硬件资源不能充分利用 扩展和迁移

    2024年02月09日
    浏览(50)
  • 【 云原生 | K8S 】部署 CNI 网络组件+k8s 多master集群部署+负载均衡及Dashboard k8s仪表盘图像化展示管理

    目录 1 部署 CNI 网络组件 1.1 部署 flannel 1.2 部署 Calico 1.3 部署 CoreDNS 2 负载均衡部署 3 部署 Dashboard K8S 中 Pod 网络通信: ●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器(Pod 内的容器是不会跨宿主机的)共享同一个网络命令空间,相当于它们在同一台机器上一样,可以用

    2024年01月22日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包