1. k8s 架构概述

网友投稿 668 2022-11-17

1. k8s 架构概述

1. k8s 架构概述

前言

Ansible - 应用程序编排工具

docker - 应用程序容器化

容器化管理接口和早期应用的管理是不同的。docker 的出现就呼唤面向容器化的编排工具的实现。

docker 三剑客

docker compose 编排工具,适用于单机

docker swarm 将多台docker主机整合成一个资源池。

docker machine 将多台主机加入到 docker swarm的先决条件,预处理工具。

不再是面向单机的编排工具。

mesos - IDC 的操作系统

kubernetes:占据容器编排工具的80%份额

DevOps

CI:持续集成CD:持续交付 DeliveryCD:持续部署 Deployment

kubernetes 特性:

自动装箱,自我修复,水平扩展,服务发现和负载均衡,自动发布和回滚。密钥和配置管理,存储编排,批量处理执行

更加关注的是群体,而不再是个体。

Dockerfile 使用 entrypoint.sh 来定义容器的启动。

k8s 概述

kubernetes 就是一个集群。集群是分角色的, master/nodes

master:一般作冗余,3个就够了。node: worker,若干个。

客户端请求先到 masters 创建启动容器的请求交给 master ,master当中有一个调度器可分出现有node的可用资源状态,找一个最佳适配用户请求资源的节点, 由这个node 本地的容器引擎运行起来。 镜像在 镜像仓库,可在互联网也可在私有仓库。

接收请求的只是能是 kubernetes master

API Server 接收、解析、处理客户端请求。scheduler - 计算node资源。 首先选3个node ,然后在优先最佳的node 创建并运行容器。

node节点 kubelet - 确保容器处于健康状态

控制器 - 监控容器状态。

控制器有问题了怎么办?

控制器不健康了,控制器管理器 controller manager

控制器管理器不健康了,是有三台主机冗余的。1个主节点,2个备用节点。

kubernetes master 三大组件:

API server 负责接收并处理请求;scheduler 调度容器创建的请求;控制器管理器:确保已创建的容器处于健康状态

K8S 上 最小运行的单元叫 pod, 可以理解为容器的外壳,给容器做了一次抽象的封装。

pod 是 k8s 最小调度单元。

一个pod中可以包含多个容器,多个容器共享底层的网络名称空间、UTS IPC 同享存储卷。

一般来说,一个 pod 内只放一个容器,除非容器之间有特别紧密的关系。如果要放置多个容器,其中一个为主容器,其他为辅助容器。

如果将某个pod 调度到某个node上运行,则这个pod中的所有的容器都在这个node 上运行。

Pod 分类:

为了对pod 分类进行识别,需要在 pod上附加一些元数据。可以在dockerfile中直接打上标签。这些这些标签就是 k-v 数据。

标签选择器 selector

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Android 开发艺术探索笔记(23)
下一篇:51nod 1136 欧拉函数
相关文章

 发表评论

暂时没有评论,来抢沙发吧~