KUBERNETES01_部署方式的变迁、为什么用Kubernetes、工作原理、组件交互原理、动画演示(四)

简介: KUBERNETES01_部署方式的变迁、为什么用Kubernetes、工作原理、组件交互原理、动画演示(四)

⑨. 程序员:调用CLI(命令行)告诉master,我们现在要部署一个tomcat应用步骤如下: 掌握


程序员的所有调用都先去master节点的网关api-server。这是matser的唯一入口(mvc模式中的c层)


收到的请求先交给master的api-server。由api-server交给controller-mannager进行控制


controller-mannager进行应用部署


controller-mannager会生成一次部署信息。 tomcat --image:tomcat6 --port 8080,真正不部署应用


部署信息被记录在etcd中


scheduler调度器从etcd数据库中,拿到要部署的应用,开始调度。看哪个节点合适

scheduler把算出来的调度信息再放到etcd中


每一个node节点的监控kubelet,随时和master保持联系的(给api-server发送请求不断获取最新数据),所有节点的kubelet就会从master


假设node2的kubelet最终收到了命令,要部署。其他的node节点也会收到命令,但是node2最终部署,所以其他node节点丢弃这次部署的操作


kubelet就自己run一个应用在当前机器上,随时给master汇报当前应用的状态信息,分配ip

node和master是通过master的api-server联系的


每一个机器上的kube-proxy能知道集群的所有网络。只要node访问别人或者别人访问node,node上的kube-proxy网络代理自动计算进行流量转发


微信图片_20220109234657.png


⑤. 部署组件交互原理


想让k8s部署一个tomcat?


0开机默认所有节点的kubelet、master节点的scheduler(调度器)、controller-manager(控制管理器)一直监听master的api-server发来的事件变化(while)


1.程序员使用命令行工具:kubectl

kubectl create deploy tomcat --image=tomcat8(告诉master让集群使用tomcat8镜像,部署一个tomcat应用)


2.kubectl命令行内容发给api-server,api-server保存此次创建信息到etcd


3etcd给api-server上报事件,说刚才有人给我里面保存一个信息。(部署Tomcat[deploy])


4controller-manager监听到api-server的事件,是 (部署Tomcat[deploy])


5controller-manager 处理这个 (部署Tomcat[deploy])的事件。controller-manager会生成Pod的部署信息pod信息


6controller-manager 把Pod的信息交给api-server,再保存到etcd


7etcd上报事件pod信息给api-server。


8scheduler专门监听 pod信息 ,拿到 pod信息的内容,计算,看哪个节点合适部署这个Podpod调度过后的信息(node: node-02)


9scheduler把 pod调度过后的信息(node: node-02)交给api-server保存给etcd


10etcd上报事件pod调度过后的信息(node: node-02),给api-server


11其他节点的kubelet专门监听 pod调度过后的信息(node: node-02) 事件,集群所有节点kubelet从api-server就拿到了 pod调度过后的信息(node: node-02) 事件


12每个节点的kubelet判断是否属于自己的事情;node-02的kubelet发现是他的事情


13node-02的kubelet启动这个pod。汇报给master当前启动好的所有信息


微信图片_20220109234744.png

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
25天前
|
Kubernetes 网络协议 应用服务中间件
K8S二进制部署实践-1.15.5
K8S二进制部署实践-1.15.5
34 0
|
17天前
|
运维 Kubernetes Cloud Native
探索Kubernetes的大二层网络:原理、优势与挑战🚀
在云原生领域,Kubernetes (K8s) 已经成为容器编排的事实标准☁️📦。为了支撑其灵活的服务发现和负载均衡🔍🔄,K8s采用了大二层网络的设计理念🕸️。本文将深入探讨大二层网络的工作原理、带来的好处✨,以及面临的挑战和解决方案❗🛠️。
探索Kubernetes的大二层网络:原理、优势与挑战🚀
|
27天前
|
Kubernetes 流计算 Perl
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
33 7
|
11天前
|
JSON Kubernetes 网络架构
Kubernetes CNI 网络模型及常见开源组件
【4月更文挑战第13天】目前主流的容器网络模型是CoreOS 公司推出的 Container Network Interface(CNI)模型
|
9天前
|
Kubernetes 搜索推荐 Docker
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
48 17
|
22天前
|
Kubernetes Ubuntu 应用服务中间件
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
93 0
|
25天前
|
人工智能 监控 Serverless
如何基于ACK Serverless快速部署AI推理服务
通过上述步骤,可以在ACK Serverless上快速部署AI推理服务,实现高可用、弹性扩展的服务架构。
19 1
|
30天前
|
Kubernetes Java Nacos
nacos常见问题之k8s上部署需要自动扩缩容如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
33 0
|
1月前
|
Prometheus 监控 Kubernetes
Kubernetes 集群监控与日志管理实践
【2月更文挑战第29天】 在微服务架构日益普及的当下,Kubernetes 已成为容器编排的事实标准。然而,随着集群规模的扩大和业务复杂度的提升,有效的监控和日志管理变得至关重要。本文将探讨构建高效 Kubernetes 集群监控系统的策略,以及实施日志聚合和分析的最佳实践。通过引入如 Prometheus 和 Fluentd 等开源工具,我们旨在为运维专家提供一套完整的解决方案,以保障系统的稳定性和可靠性。
|
20天前
|
数据库 存储 监控
什么是 SAP HANA 内存数据库 的 Delta Storage
什么是 SAP HANA 内存数据库 的 Delta Storage
16 0
什么是 SAP HANA 内存数据库 的 Delta Storage

推荐镜像

更多