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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> (P1-P9)初窥kubernetes全貌 -> 正文阅读

[系统运维](P1-P9)初窥kubernetes全貌

1 docker容器技术

  • Docker提供了一种将应用程序安全,隔离运行的一种方式,能够将应用程序依赖和库文件打包在一个容器中,后续再任何地方运行起来即可,其包含了应用程序所依赖相关环境,一次构建,任意运行(build once,run anywhere)
    在这里插入图片描述

  • Docker组成:
    Docker Daemon 容器管理组件,守护进程,负载容器,镜像,存储,网络等管理
    Docker Client 容器客户端,负责和Docker Daemon交互,完成容器生命周期管理
    Docker Registry 容器镜像仓库,负责存储,分发,打包
    Docker Object 容器对象,主要包含container和images
    容器给应用程序开发环境带来很大的便利,从根本上解决了容器的环境依赖,打包等问题,然而,

  • Docker带来的容器打包的便利,同时也带来了以下的挑战:
    容器如何调度,分发
    多台机器如何协同工作
    Docker主机故障时应用如何恢复
    如何保障应用高可用,横向扩展,动态伸缩
    在这里插入图片描述

2.2 kubernetes简介与功能

  • Kubernetes是google开源的一套微服务,容器化的编排引擎,提供容器话应用的自动化部署,横向扩展和管理,是google内部容器十多年实战沉淀的结晶,已战胜Swarm,Mesos成为容器编排的行业标准。

  • kuberntes内置有很多非常优秀的特性使开发者专注于业务本身,其包含的功能如下:
    在这里插入图片描述

  • Service discovery and load balancing,服务发现和负载均衡,通过DNS实现内部解析,service实现负载均衡

  • Storage orchestration,存储编排,通过plungin的形式支持多种存储,如本地,nfs,ceph,公有云快存储等

  • Automated rollouts and rollbacks,自动发布与回滚,通过匹配当前状态与目标状态一致,更新失败时可回滚

  • Automatic bin packing,自动资源调度,可以设置pod调度的所需(requests)资源和限制资源(limits)

  • Self-healing,内置的健康检查策略,自动发现和处理集群内的异常,更换,需重启的pod节点

  • Secret and configuration management,密钥和配置管理,对于敏感信息如密码,账号的那个通过secret存储,应用的配置文件- 通过configmap存储,避免将配置文件固定在镜像中,增加容器编排的灵活性

  • Batch execution,批处理执行,通过job和cronjob提供单次批处理任务和循环计划任务功能的实现

  • Horizontal scaling,横向扩展功能,包含有HPA和AS,即应用的基于CPU利用率的弹性伸缩和基于平台级的弹性伸缩,如自动增加node和删除nodes节点。

  • 参考:生产级别的容器编排系统kubernetes入门到实战(一)初窥kubernetes全貌

3.kubernetes架构解析

在这里插入图片描述

  • kube-apiserver 功能
    (1)k8s nodes上的所有请求都要经过apiserver
    (2)认证和授权
    (3)将数据写入etcd数据库

  • etcd
    (1)etcd 是兼具一致性和高可用性的键值数据库
    (2)保存和持久化集群状态信息

  • kube-scheduler
    (1)过滤:将满足条件的node筛选出来进行排序,最优的节点运行重启
    (2)调度策略:硬件/软件/策略约束、亲和性和反亲和性规范等

  • kube-controller-manager
    这些控制器包括:
    节点控制器(Node Controller): 负责在节点出现故障时进行通知和响应
    任务控制器(Job controller): 监测代表一次性任务的 Job 对象,然后创建 Pods 来运行这些任务直至完成
    端点控制器(Endpoints Controller): 填充端点(Endpoints)对象(即加入 Service 与 Pod)
    服务帐户和令牌控制器(Service Account & Token Controllers): 为新的命名空间创建默认帐户和 API 访问令牌

  • cloud-controller-manager
    (1)与公有云进行集成
    (2)下面的控制器都包含对云平台驱动的依赖:
    节点控制器(Node Controller): 用于在节点终止响应后检查云提供商以确定节点是否已被删除
    路由控制器(Route Controller): 用于在底层云基础架构中设置路由
    服务控制器(Service Controller): 用于创建、更新和删除云提供商负载均衡器

  • Node 组件
    (1)容器运行时(Container Runtime)
    容器运行环境是负责运行容器的软件。
    Kubernetes 支持多个容器运行环境: Docker、 containerd、CRI-O 以及任何实现 Kubernetes CRI (容器运行环境接口)。
    (2)kubelet
    kubelet创建和管理Container Runtime资源,k8s通过kubelet来判断node的健康状态,容器不健康会迁移;
    (3)kube-proxy
    实现 Kubernetes 服务(Service) 概念的一部分;
    通过iptables或lvs定义负载均衡的策略;
    暴露容器对外服务的实现;

  • 附加插件(Addons)
    (1)DNS
    (2)Web 界面(Dashboard )
    (3)容器资源监控
    监控系统用于采集node和pod的监控数据
    metric-server 核心指标监控
    prometheus 自定义指标监控,提供丰富功能
    heapster+influxdb+grafana 旧核心指标监控方案,现已废弃
    (4)集群层面日志
    日志采集系统,用于收集容器的业务数据,实现日志的采集,存储和展示,由EFK实现
    Fluentd 日志采集
    ElasticSearch 日志存储+检索
    Kiabana 数据展示

  • 参考:Kubernetes 组件

4.CNCF蓝图

在这里插入图片描述

  • 云原生相关内容
    在这里插入图片描述

  • CNCF

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-23 11:50:17  更:2021-09-23 11:52:11 
 
开发: 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 15:17:06-

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