kubernetes 与 rook 架构说明

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/signmem/article/details/88538127

说明

描述 kubernetes 重要组件
描述 rook 重要组件

kubernetes 架构

rook arch

组件说明

kubectl

命令行接口
管理员利用该命令对 k8s 进行管理

kubelet

worker node 中运行的进度
用于对 pod 执行增删改管理
Kubelet 从 apiserver 获取pod的配置
确保所描述的容器已启动并运行
负责与主节点通信的工作者服务

docker

docker 在每个工作节点上运行
运行配置的pods
负责下载图像并启动容器

api server

api 服务器是用于控制集群的所有 rest 命令的入口
处理的请求,验证它们,并执行绑定的业务逻辑
结果状态必须在某个地方持久化
用于调用其他组件

scheduler

k8s 调度器
将配置的 pods 和服务部署到节点上
调度程序具有集群成员上可用资源的相关信息, 配置的服务运行所需的信息
决定部署特定服务的位置

kube-proxy

代理服务
用于提供外部网络访问到容器内部提供的服务方法
充当单个工作节点上服务的网络代理和负载平衡器
它负责TCP和UDP数据包的网络路由

etcd

etcd 是一个简单、分布式、一致的键值存储区
它主要用于共享配置和服务发现
CRUD 操作提供了一个 RESTAPI
提供了一个在特定节点上注册观察程序的接口

pod

Kubernetes的目标是管理由多个相互通信的微服务组成的弹性应用程序。通常,这些微服务是紧密耦合
K8S部署的最小单元被称为 POD

kubernetes 下 rook 架构说明

k8s and rook

组件说明

kubectl

命令行管理工具
对 k8s 进行管理
对 rook 进行管理 (增删改)

rook operator

由 kubectl 调用
整个 k8s 中有并且只有一个 rook-operator
对 ceph 创建过程中起到重要作用
初始化生成 mon key, user key, osd key 等秘钥
根于 yaml 文件,生成了 ceph 配置
在 ceph/rook 搭建过程中, 分发配置到 mon, mgr, osd, mds 等组件中
监控 ceph/rook 各个组件是否工作正常

rook agent

由 kubectl 调用
每个 k8s node 中都具有 rook agent
接受 rook operator 管理
对本机中的 ceph pod 进行管理

环境说明

myrook arch

master

管理节点
需要提供 dns 服务 (coredns)
需要提供 service 服务
管理 ceph/rook 配置

pod node

在 pod node 运行 pod
工作节点包含管理容器之间的网络
与主节点通信以及将资源分配给计划的容器所必需的所有服务
包含 docker, kubelet, kube-proxy 主要组件

rook node

主要在 rook node 中组件 ceph 集群
rook 由存储服务器搭建( 建议 )
建议每个 contrainer 独立管理一个磁盘 (osd)

系统环境说明

操作系统

centos7.5

内核版本

4.20.7-1.el7.elrepo.x86_64

kubenetes 版本

kubenetes 1.13.3

docker 版本

docker-ce-18.09.1-3

kernel 相关 rook bug 说明

kernels with versions older than 4.7, where the option mds_namespace is not supported
kernels with versions older then 3.15 , Disable some Ceph features by starting the rook toolbox and running ceph osd crush tunables bobtail
kernels with versions older than 4.7, rook Agent logs contain modinfo: ERROR: could not get modinfo from ‘rbd’: Exec format error lines
kernels with versions older than 4.7, not support requirement for multiple shared filesystems (CephFS),

猜你喜欢

转载自blog.csdn.net/signmem/article/details/88538127