k8s学习-k8s简介

2021/12/31 23:08:26

本文主要是介绍k8s学习-k8s简介,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1 k8s核心功能

1.1 自动装箱

基于容器对运行环境的资源配置要求自动部署容器

1.2 自我修复

容器失败时会对容器进行重启
当所部属的node节点有问题时,会对容器进行重新部署或重新调度
当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务

1.3 水平扩展

通过简单的命令,用户ui界面或基于CPU等资源的使用情况,对容器进行规模扩大或规模裁剪

1.4 服务发现

用户不需要使用额外的服务发现机制就可以基于k8s自身能力实现服务发现和负载均衡

1.5 滚动更新

可以根据应用变化,对应用容器运行的应用,进行一次批量的更新

1.6 版本回退

可以根据部署情况,对应用容器运行的应用,进行历史版本及时回退

1.7 密钥和配置管理

在不需要从新构建镜像的情况下,可以部署更新密钥和应用配置,类似热部署

1.8 存储编排

自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要。存储系统可以来自本地目录,网络存储,公有云服务等

1.9 批处理

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

2 k8s集群架构组件

在这里插入图片描述
主要包括两部分

  • Master Node:作为控制节点,对集群进行调度管理;Master Node由API Server、Scheduler、Cluster State Store和Controller-Manger Server所组成;
  • Worker Node:作为真正的工作节点,运行业务应用的容器;Worker Node包含kubelet、kube proxy和Container Runtime;

2.1 master组件

  • apiserver
    集群统一入口,以restful方式,交给etcd存储
  • scheduler
    节点调度,选择node节点应用部署
  • controller-manager
    处理集群中常规后台任务,一个资源对应一个控制器
  • etcd
    存储系统,用于保存集群相关数据

2.2 node组件

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

3 核心概念

3.1 pod

最小部署单元
包含一组容器
共享网络
生命周期是短暂的,重启后即失效

3.2 controller

确保预期副本的数量
有状态/无状态应用部署
确保一组node运行同一个pod
一次性任务和定时任务调度

3.3 service

定义一组pod的访问规则



这篇关于k8s学习-k8s简介的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程