kubernetes(k8s)学习
K8S介绍
概述
k8s是容器化集群管理系统,使用k8s可以让我们部署容器化应用更加简洁和高效。
特性
-
自动装箱:基于容器对应用运行环境的资源配置要求自动部署应用容器
-
自我修复(自愈能力):
- 当容器失败时,会对容器进行重启
- 当所部署的Node节点有问题时,会对容器进行重新部署和重新调度
- 当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务
-
水平扩展:可以根据需要进行容器规模的扩大或剪裁
-
服务发现:用户不需要额外的服务发现机制,就能够基于Kubernetes自身能力实现服务发现和负载均衡
-
滚动更新: 可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新
-
版本回退:可以根据应用部署情况,对应用容器运行的应用,进行历史版本及时回退
-
密钥和配置管理:在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署
-
存储编排:自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要,存储系统可以来自于本地目录,网络存储,公共云存储
-
批处理: 提供一次性任务,定时任务,满足批量数据处理和分析的场景。
架构组件
Master(主控节点)和 node(工作节点)
Master
1.API server:集群的统一入口
2.scheduler:进行节点的调度
3.controller-manager: 处理集群中常规后台任务,一个资源对应一个controller
4.etcd: 保存集群里的相关数据
node
1.kubeelet:master派到node节点的一个代表,管理本机容器
2.kube-proxy:提供网络代理,可以实现负载均衡等操作
集群搭建
单master集群
kubeadm
kubeadm是一个集群部署工具,用于快速部署集群,但是遇到问题很难排除。
多master集群
我有一壶酒
足以慰风尘
尽倾江海里
赠饮天下人