阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

K8S(kubernetes)概述

560次阅读
没有评论

共计 2652 个字符,预计需要花费 7 分钟才能阅读完成。

Kubernetes 概述

一、什么是 K8S(Kubernetes)?
1.k8s 全称 kubernetes,这个名字大家应该都不陌生,k8s 是为容器服务而生的一个可移植容器的编排管理工具,越来越多的公司正在拥抱 k8s,并且当前 k8s 已经主导了云业务流程,推动了微服务架构等热门技术的普及和落地,正在如火如荼的发展。那么称霸容器领域的 k8s 究竟是有什么魔力呢?
2. 首先,我们从容器技术谈起,在容器技术之前,大家开发用虚拟机比较多,比如 vmware 和 openstack,我们可以使用虚拟机在我们的操作系统中模拟出多台子电脑(Linux),子电脑之间是相互隔离的,但是虚拟机对于开发和运维人员而言,存在启动慢,占用空间大,不易迁移的缺点。举一个我亲身经历过的场景吧,之前在 vmware 中开发了一个线下平台,为了保证每次能够顺利使用,我们就把这个虚拟机导出为 OVF,然后随身携带,用的时候在服务器中部署,这里就充分体现了虚拟机的缺点。
接着,容器化技术应运而生,它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境即可,而且启动速度很快,除了运行其中应用以外,基本不消耗额外的系统资源。Docker 是应用最为广泛的容器技术,通过打包镜像,启动容器来创建一个服务。但是随着应用越来越复杂,容器的数量也越来越多,由此衍生了管理运维容器的重大问题,而且随着云计算的发展,云端最大的挑战,容器在漂移。在此业务驱动下,k8s 问世,提出了一套全新的基于容器技术的分布式架构领先方案,在整个容器技术领域的发展是一个重大突破与创新。
那么,K8S 实现了什么?
从架构设计层面,我们关注的可用性,伸缩性都可以结合 k8s 得到很好的解决,如果你想使用微服务架构,搭配 k8s,真的是完美,再从部署运维层面,服务部署,服务监控,应用扩容和故障处理,k8s 都提供了很好的解决方案。
总而言之,k8s 可以使我们应用的部署和运维更加方便。
二、kubernetes 特性
1. 自我修复
在节点故障时可以删除失效容器,重新创建新的容器,替换和重新部署,保证预期的副本数量,kill 掉健康检查失败的容器,并且在容器未准备好之前不会处理客户端情况,确保线上服务不会中断
2. 弹性伸缩
使用命令、UI 或者 k8s 基于 cpu 使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性,业务低峰时回收资源,以最小成本运行服务
3. 自动部署和回滚
k8s 采用滚动更新策略更新应用,一次更新一个 pod,而不是同时删除所有 pod,如果更新过程中出现问题,将回滚恢复,确保升级不影响业务
4. 服务发现和负载均衡
k8s 为多个容器提供一个统一访问入口(内部 IP 地址和一个 dns 名称) 并且负载均衡关联的所有容器,使得用户无需考虑容器 IP 问题
5. 机密和配置管理
管理机密数据和应用程序配置,而不需要把敏感数据暴露在径向力,提高敏感数据安全性,并可以将一些常用的配置存储在 k8s 中,方便应用程序调用
6. 存储编排
挂载外部存储系统,无论时来自本地存储、公有云 (aws)、还是网络存储(nfs、GFS、ceph),都作为集群资源的一部分使用,极大提高存储使用灵活性
7. 批处理
提供一次性任务,定时任务:满足批量数据处理和分析的场景
三、kubernetes 集群架构与组件
kubernetes 集群架构拓补图
K8S(kubernetes)概述
注:

  • API server 是所有请求的唯一入口
  • api server 管理所有的事务,并把信息记录到 etcd 数据库中
  • etcd 有一个自动服务发现的特性机制,etcd 会搭建有三个节点的集群,实现三副本
  • scheduler 调度器用来调度资源,查看业务节点的资源情况,确定在哪个 node 上创建 pod,把指令告知给 api server
  • 控制管理器 controller-manager 管理 pod
  • pod 可以分为有状态和无状态的 pod,一个 pod 里最好只放一个容器
  • api server 把任务下发给业务节点的 kubelet 去执行
  • 客户访问通过 kube-proxy 去访问 pod
  • pod 下面的不一定是 docker,还有别的容器
  • 一般 pod 中只包含一个容器,除了一种情况除外,那就是 elk
  • elk 会在 pod 内多放一个 logstash 去收集日志
    用户访问 kubernetes 过程示意图
    K8S(kubernetes)概述
    kubernetes 各个组件及功能
    1.master 组件
  • kube-apiserver
    kubernetes api,集群的统一入口,各组件之间的协调者,以 restful api 提供接口服务,所有对象资源的增删改查和监听操作都交给 apiserver 处理后在提交给 etcd 存储记录
  • kube-controller-manager
    处理集群中常规的后台任务,一种资源对应一个控制器,controller-manager 就是负责管理这些控制器的
  • kube-scheduler
    根据调度算法为新创建的 pod 选择一个 node 节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同节点上
  • etcd
    分布式键值存储系统,用户保存集群状态数据,比如 pod、service 等对象信息
    2.node 组件
  • kubelet
    kubelet 时 master 在 node 节点上的代理 agent,管理本 node 运行容器的生命周期
    比如创建容器、pod 挂载数据卷、下载 sercet、获取容器和节点状态等工作,kubelet 将每个 pod 转换成一组容器
  • kube-proxy
    在 node 节点上实现 pod 的网络代理,维护网络规则和四层的负载均衡工作
  • docker 或 rockert
    容器引擎,运行容器
    kubernetes 核心概念
  • pod
    最小部署单元
    一组容器的集合
    一个 pod 中的容器共享网络命名空间
    pod 是短暂的

  • controllers
    replicaset:确保预期的 pod 副本数量
    deployment:无状态应用部署,比如 nginx、apache,一定程度上的增减不会影响客户体验
    statefulset:有状态应用部署,是独一无二型的,会影响到客户的体验
    daemonset:确保所有 node 运行同一个 pod,确保 pod 在统一命名空间
    job:一次性任务
    cronjob: 定时任务
    更高级层次对象:部署和管理 pod

  • service
    防止 pod 失联
    定义一组 pod 的访问策略

    确保了每个 pod 的独立性和安全性

  • storage
    volumes
    persistent volumes
  • pollcies 策略
    resource quotas
  • other
    label:标签,附加到某个资源上,用户关联对象、查询和筛选
    namespaces:命名空间,将对象从逻辑上隔离
    annotations:注释

K8S(kubernetes)概述

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2652字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7985574
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...