IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> K8S简介、架构组件、核心概念 -> 正文阅读

[系统运维]K8S简介、架构组件、核心概念

1.k8s简介

  1. kubernetes,简称 K8s,是用 8 代替 8 个字符“ubernete”而成的缩写。
  2. k8s是一个开源 的,用于管理云平台中多个主机上的容器化的应用,
  3. k8s的目标是让部署容器化的 应用简单并且高效(powerful),
  4. k8s提供了应用部署,规划,更新,维护的一种 机制。
  5. k8s是谷歌在2014年开发的容器化集群管理系统

2.k8s功能

(1)自动装箱
基于容器对应用运行环境的资源配置要求自动部署应用容器
(2)自我修复(自愈能力)
当容器失败时,会对容器进行重启
当所部署的 Node 节点有问题时,会对容器进行重新部署和重新调度
当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务
在这里插入图片描述
如果某个服务器上的应用不响应了,Kubernetes会自动在其它的地方创建一个在这里插入图片描述

(3)水平扩展
通过简单的命令、用户 UI 界面或基于 CPU 等资源使用情况,对应用容器进行规模扩大 或规模剪裁
当应用过于忙碌时,k8s会水平扩展一个应用
在这里插入图片描述

(3)服务发现
用户不需使用额外的服务发现机制,就能够基于 Kubernetes 自身能力实现服务发现和 负载均衡
对外提供统一的接口,用来做节点调度和负载均衡
在这里插入图片描述

(4)滚动更新
可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新

添加应用的时候,不是加进去就马上可以进行使用,而是需要判断这个添加进去的应用是否能够正常使用
(5)版本回退
可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退
(6)密钥和配置管理
在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署。
(7)存储编排
自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要 存储系统可以来自于本地目录、网络存储(NFS、Gluster、Ceph 等)、公共云存储服务
8)批处理
提供一次性任务,定时任务;满足批量数据处理和分析的场景

3.k8s架构组件

K8S架构主要包含两部分:Master(主控节点)和 node(工作节点)
1.master组件

k8s 集群控制节点,对集群进行调度管理,接受集群外用户去集群操作请求; Master Node 由 API Server、Scheduler、ClusterState Store(ETCD 数据库)和 Controller MangerServer 所组成

  • API server
    集群统一入口,以restful的方式,交给etcd存储
    提供认证、授权、访问控制、API注册和发现等机制
    -scheduler
    节点调度,选择node节点应用部署
  • controller-manager
    处理集群中常规后台任务,一个资源对应一个控制器
  • etcd
    存储系统,用于保存集群相关的数据
  • 容器运行环境
    负责运行容器的软件
    Kubernetes支持多个容器运行环境:Docker、containerd、cri-o、rktlet以及任何实现Kubernetes CRI (容器运行环境接口) 的软件。
  • fluentd:是一个守护进程,它有助于提升 集群层面日志

master节点架构图
在这里插入图片描述

2.node组件

集群工作节点,运行用户业务应用容器; Worker Node 包含 kubelet、kube proxy 和
ContainerRuntime;

  • kube let
    master派到node节点代表,管理本机容器
  • kube-proxy
    提供网络代理,负载均衡等操作

整体架构图如下
在这里插入图片描述
在这里插入图片描述

3.K8S核心概念

1.pod

  • Pod是K8s中最小的单元
  • 一组容器的集合
  • 共享网络【一个Pod中的所有容器共享同一网络】
  • 生命周期是短暂的(服务器重启或者重新部署后,就找不到了)

2.Controller

  • 确保预期的pod副本数量【ReplicaSet】
  • 无状态应用部署【Deployment】;无状态就是指,不需要依赖于网络或者ip
  • 有状态应用部署【StatefulSet】;有状态需要特定的条件,确保所有的node运行同一个pod 【DaemonSet】
  • 一次性任务和定时任务【Job和CronJob】

3.Service

  • 定义一组pod的访问规则
  • Pod的负载均衡,提供一个或多个Pod的稳定访问地址
    支持多种方式【ClusterIP、NodePort、LoadBalancer】

K8S通过service统一入口访问,由Controller创建Pod进行部署
在这里插入图片描述

4.Deployment

  • 定义一组Pod副本数目,版本等
  • 通过控制器【Controller】维持Pod数目【自动回复失败的Pod】
  • 通过控制器以指定的策略控制版本【滚动升级、回滚等】
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:41:54  更:2021-10-28 12:43:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:55:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码