kubernetes从入门到放弃之k8s介绍

kubernetes概述

  • kubernetes是Google在2014年开源的一个容器集群管理系统,简称k8s;
  • k8s用于容器化应用程序的部署,扩展和管理;
  • k8s提供了容器编排、资源调度、弹性伸缩、部署管理、服务发现等一系列功能;
  • k8s官方网址 https://www.kubernetes.io

kubernetes特性

  • 自我修复
    在节点故障时,重启失败的容器,替换以及重新部署,保证预期的副本数;杀掉健康检查失败的容器,并且在未准备好时不会处理客户端请求,保证线上服务不中断;

  • 弹性伸缩
    使用命令、UI或基于CPU使用情况快速扩容或缩容应用程序,保证应用业务的高可用性,业务低峰时回收资源;

  • 自动部署和回滚
    k8s采用滚动更新策略更新服务,一次更新一个pod,而不是同时删除全部pod,实行业务平滑部署,部署过程中服务不中断;

  • 服务发现和负载均衡
    k8s为多个容器提供提供一个统一访问入口(内部ip地址和一个DNS名称),并且负载均衡关联的所有容器,使得用户无需关注容器ip问题;

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

  • 存储编排
    挂在外部存储系统,无论是本地存储、公有云,还是网络存储,都作为集群资源的一部分使用,提高存储灵活性;

  • 批处理
    提供一次性任务、定时任务,满足批量数据处理和分析的场景。

kubernetes集群架构及组件

在这里插入图片描述
- master组件
kube-apiserver
kubernetes API,集群的统一入口,各组件协调者,以RESTful API提供接口服务,所有对象的增删改查和监听操作都交给apiserver处理后在提交给etcd存储;
kube-controller-manager
处理集群中常规后台任务,一个资源对应一个控制器,而controller-manager就是负责管理这些控制器的;
kube-scheduler
根据调度算法为新创建的pod选择一个node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同的节点上;
etcd
分布式键值存储系统,用于保存集群状态数据,比如pod、service等对象信息。

  • node组件
    kubelet
    kubelet是master在node节点上的agnet,管理本机运行容器的生命周期,比如创建容器、pod挂载数据卷、下载secret、获取容器和节点工作状态等工作,kubelet将每个pod转换成一组容器;
    kube-proxy
    在node节点实现pod网络代理,维护网络规则和四层负载均衡工作。

  • docker或rocket
    容器引擎,运行容器。

    kubernetes核心概念

  • pod
    最小部署单元;
    一组容器的集合;
    一个pod中的容器共享网络命名空间;
    pod是短暂的。

  • controllers
    ReplicaSet: 确保预期的副本数;
    Deployment:无状态应用部署;
    StatefulSet: 有状态应用部署;
    DaemonSet:确保所有node运行同一个pod;
    Job:一次性任务;
    Cronjob:定时任务。

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

  • label
    标签,附加到某个资源上,用于关联对象、查询和筛选。

  • namespace
    命名空间,将对象在逻辑上进行隔离。

本篇内容参考自李振良老师的技术博客及视频资料,他的博客地址http://blog.51cto.com/lizhenliang

下篇内容将继续介绍kubernetes集群的二进制部署。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值