K8S集群学习之路(一)
一、K8s的概念和架构
1、优点:
(1)使得生产环境和测试环境相同;
(2)docker经常用于单机版运行,随着服务用户量的增加,需要做集群部署,可以解决docker的相关问题;
(3)使得k8s的部署更加的简洁和高效;
2、k8s功能:
(1)自动装箱
自动部署相关环境应用
(2)自我修复能力
当容器失败时,会对容器进行重启
当所部署的Node节点有问题时,会对容器进行重新部署和重新调度
当容器未通过监控检查时,等到能正常运行,才会对外开启服务
(其中一台机器出现问题,其中的容器会跳转到第二个节点)
(3)水平扩展
请求多服务相对增多(比如双十一双十二请求变多,所以会自动增加服务器节点)
(4)服务发现和负载均衡
服务发现:会有一个Service总控,先由总控接受,然后分配给管理相关业务的服务器(比如订单系统,处理订单分配给专门处理订单的服务器,客户信息分配给专门管理信息的服务器)
负载均衡:每个服务器接受相关信息后平均分配任务
(5)滚动更新
举例:当要加三个应用进入到服务器节点中,需要检查一个加入一个
(6)版本回退
可以回滚到之前的版本
(7)密钥配置管理
类似热部署(热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用)
(8)储存编排
可以挂载到本地也可以挂载到云
(9)批处理
提供一次性任务,定时任务,满足批量数据处理和分析的场景
2、架构
总架构分为主控节点Master和工作节点Node
(1)Master组件
(2)node节点组件
(3)docker组件
详情看我的docker博客
3、K8s重要概念
在K8s中最小部署单元,docker中有pod,一个pod里面有很多的容器,里面的容器共享网络(比如Pod中一个容器监听了80端口,那么同一个pod中其他容器也监听了80端口)
无状态:一个节点的pod可以直接移植到另外的node节点
有状态:容器中有特殊的条件,比如必须ip唯一等
k8s中主要使用controller来部署pod
总控,将功能分配到不同的pod
整个流程:Service分配—>controller创建—>pod
如果看完对自己有所帮助请点赞支持,谢谢大家