当前位置: 首页 > news >正文

【K8s】整体认识K8s--K8s架构与集群创建过程

K8s架构

上图是Kubernetes的架构图。

从大的模块看,图中包含Master组件(APIs, scheduler, etc),Node节点和cloud端。

Master中,包含负责提供API服务的组件kube-apiserver;作为后台数据库的etcd,监听组件kube-scheduler;运行控制器的组件kube-controller-manager。

Node节点中包括运行在各个节点的客户端的kubelet,运行在各个节点的网络代理组件kube-proxy,支持运行容器底层环境的软件Container Runtime。

Cloud端作为集群外部的附加能力,通过与cloud-controller-manager组件对接,扩展k8s集群云上动态扩展的特性。

集群创建过程

1、安装和配置服务器节点

2、在每个节点上安装docker-ce、docker-ce-cli、containerd.io、docker-compose-plugin,部署CRI-docker

3、在每个节点关闭swap分区,加载br-netfilter模块使流量转发到iptables链,安装kubectl、kubeadm、kubelet,集成CIR-docker

4、在master节点上编写kubeadm.yml文件来部署集群,然后使用kubeadm init 命令来创建集群,然后使用kubeadm join命令加入各节点

5、最后,部署网络插件

关于以上部署安装k8s过程中为什么要关闭swap分区?

在虚拟内存管理系统中,虽然交换分区可以增加内存容量,但是磁盘虚拟页面和内存页面的交换会增加磁盘I/O负担,容器自身的运行环境对磁盘的吞吐量有很高的要求,所以,启用交换分区会导致在高负载情况下k8s系统的整体性能下降。

Br_netfiler模块

Br_netfiler这个模块能让网桥上的流量加载到iptables链,从而应用Calico网络规则。iptables是用于节点内部的pod通信,如果不加载这个模块,会影响一个node内的pod之间的通信,但不会影响不同node上的pod之间的通信。因为不同node之间通过虚拟的隧道将数据转发到网卡,直接应用iptables,不涉及桥接设备。后边k8s集群的通信会细说。

kubeadm、kubectl、kubelet

接着说说kubeadm、kubectl、kubelet这几个指令。kubeadm提供了构建集群的指令,kubeadm init 初始化集群。Kubadm join 扩充集群节点。Kubectl是k8s的命令行工具,能够对集群本身进行管理,进行容器化应用的安装和部署。Kubelet在每个节点上运行,与api-server进行通信,监控和维护pod中容器的生命周期,也负责CSI(容器存储接口)和CRI(容器网络接口)的管理。

http://www.dtcms.com/a/346852.html

相关文章:

  • Doxygen是什么?
  • 多模态大语言VLM模型综述
  • 【GPT入门】第56课 大模型分布式训练的三种方式、模型层介绍及DeepSpeed ZeRO的支持
  • 《Linux》基础命令到高级权限管理指南
  • 【KO】前端面试题三
  • React Hooks UseRef的用法
  • 【Win10 画图板文字方向和繁体问题】
  • 浮点数比较的致命陷阱与正确解法(精度问题)
  • linux下的网络编程:基础概念+UDP编程
  • Class41样式迁移
  • 55.Redis搭建主从架构
  • 计算机网络 各版本TLS握手的详细过程
  • CSS学习步骤及详解
  • 美食菜谱数据集(13943条)收集 | 智能体知识库 | AI大模型训练
  • JUC之虚拟线程
  • ArcGIS Pro 安装路径避坑指南:从崩溃根源到规范实操(附问题修复方案)
  • 运行npm run命令报错“error:0308010C:digital envelope routines::unsupported”
  • 使用 AD 帐户从 ASP.NET 8 容器登录 SQL Server 的 Kerberos Sidecar
  • 【深入理解 Linux 网络】收包原理与内核实现(下)应用层读取与 epoll 实现
  • 5G物联网的现实与未来:CTO视角下的成本、风险与破局点
  • 嵌入式学习日记(33)TCP
  • OpenFeign相关记录
  • 【嵌入式】【搜集】RTOS相关技术信息整理
  • Ubuntu2204server系统安装postgresql14并配置密码远程连接
  • 【python与生活】如何自动总结视频并输出一段总结视频?
  • FastAPI + SQLAlchemy 数据库对象转字典
  • 【力扣 Hot100】每日一题
  • C++之list类的代码及其逻辑详解 (中)
  • Java线程的几种状态 以及synchronized和Lock造成的线程状态差异,一篇让你搞明白
  • Linux服务器Systemctl命令详细使用指南