【K8S】kubernetes基础原理

【K8S】kubernetes基础原理

Kubernets是什么

Kubernetes的缩写为:K8S,这个缩写是因为k和s之间有八个字符的关系。
Kubernetes是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes拥有一个庞大且快速增长的生态系统。Kubernetesd的服务、支持和工具广泛可用

Kubernetes 特点

  1. 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
  2. 可扩展: 模块化, 插件化, 可挂载, 可组合
  3. 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展
  4. 快速部署应用,快速扩展应用
  5. 无缝对接新的应用功能
  6. 节省资源,优化硬件资源的使用

Kubernetes的特性

轻量级

  • 使用go语言——>>编译型语言,语言级别支持进程管理,不需要人为控制,所以以go开发的资源消耗占用资源小

开源

自我修复

  • 控制器控制pod,保证pod可以维持我们所期望的副本数量3
  • 在节点故障时“重新启动”失败的容器,替换和重新部署,保证预期的副本数量;杀死健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断
  • 对异常状态的容器进行重建(先创建、再删除),目的是保证业务线不中断

弹性伸缩

  • 使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性;业务低峰时回收资源,以最小成本运行服务
手动弹性伸缩(针对于pod),当I/O读/写、磁盘、内存的压力(单个pod) > 80% , 修改replicasets :3->4 更新一下nginx.yml

自动:Yml --> 阈值 cpu使用率 > 80% ——》触发扩容pod (CPU使用上限,docker-cgroup k8s --->  1、limit

伸缩:扩容和缩容
弹性:人为只要指定规则,满足条件时,就会自动触发扩容或缩容的操作

自动部署和回滚

  • KBS采用滚动更新策略更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不受影响业务

服务发现和负载均衡

  • 服务发现:服务可以通过自动发现的形式找到它所依赖的服务
  • 负载均衡:如果一个服务起动了多个容器,能够自动实现请求的负载均衡

机密(加密配置)和(普通)配置管理

  • 管理机密数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性。并可以将一些常用的配置存储在K8S中,方便应用程序使用

存储编排(静态、动态)

  • 支持外挂存储并对外挂存储资源进行编排,挂载外部存储系统,无论是来自本地存储,公有云(如:AWS),还是网络存储(如:NFS、Glusterfs、Ceph)都作为集群资源的一部分使用,极大提高存储使用灵活性

批处理

  • 提供一次性任务(job),定时任务(crontab);满足批量数据处理和分析的场景

kubernetes组件

Pod(最小的资源单位)

  • 一个pod 会封装多个容器组成一个子节点的运行环境 (最小单元,容器的种类3+)
  • 最小部署单元
  • 一组容器的集合(基础容器 + 初始化容器+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值