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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 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

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
17天前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
105 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
17天前
|
Kubernetes 负载均衡 前端开发
二进制部署Kubernetes 1.23.15版本高可用集群实战
使用二进制文件部署Kubernetes 1.23.15版本高可用集群的详细教程,涵盖了从环境准备到网络插件部署的完整流程。
34 2
二进制部署Kubernetes 1.23.15版本高可用集群实战
|
2天前
|
Kubernetes Cloud Native Linux
云原生入门:Kubernetes的简易部署与应用
【8月更文挑战第49天】在云原生的世界里,Kubernetes(K8s)是一颗璀璨的星。本文将带你走进K8s的世界,从安装到简单应用,轻松驾驭这个强大的容器编排工具。让我们一起探索云原生的奥秘,解锁新技能!
|
8天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes上安装Metallb和Ingress并部署应用程序
Kubernetes上安装Metallb和Ingress并部署nginx应用程序,使用LoadBalancer类型的KubernetesService
38 5
|
16天前
|
存储 Kubernetes Ubuntu
Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
这篇文章详细介绍了在Ubuntu 22.04 LTS系统上使用VMware Fusion虚拟化软件部署Kubernetes 1.30+版本的完整过程,包括环境准备、安装containerd、配置etcd、生成证书、部署高可用组件、启动Kubernetes核心组件以及网络插件的部署和故障排查。
50 4
|
17天前
|
Kubernetes Ubuntu 网络安全
Ubuntu基于kubeadm快速部署K8S实战
关于如何在Ubuntu系统上使用kubeadm工具快速部署Kubernetes集群的详细实战指南。
70 2
|
17天前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
51 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
26天前
|
存储 Kubernetes Go
【Azure K8S | AKS】在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例
【Azure K8S | AKS】在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例
|
16天前
|
存储 Kubernetes 测试技术
k8s使用pvc,pv,sc关联ceph集群
文章介绍了如何在Kubernetes中使用PersistentVolumeClaim (PVC)、PersistentVolume (PV) 和StorageClass (SC) 来关联Ceph集群,包括创建Ceph镜像、配置访问密钥、删除默认存储类、编写和应用资源清单、创建资源以及进行访问测试的步骤。同时,还提供了如何使用RBD动态存储类来关联Ceph集群的指南。
34 7
|
16天前
|
存储 Kubernetes 数据安全/隐私保护
k8s对接ceph集群的分布式文件系统CephFS
文章介绍了如何在Kubernetes集群中使用CephFS作为持久化存储,包括通过secretFile和secretRef两种方式进行认证和配置。
25 5