Kubernetes: K8S 容器集群管理系统

虚拟机 -> 容器技术

传统部署:直接将应用程序部署在物理机上。

虚拟机(vmware、openstack):可以在操作系统中模拟出多台子电脑(Linux),子电脑之间是相互隔离的(独立),但是虚拟机存在启动慢,占用空间大,不易迁移的缺点。

容器化技术(Docker):虚拟一个小规模的环境,共享操作系统。启动速度很快,除了运行其中应用以外,基本不消耗额外的系统资源。

在这里插入图片描述
Docker存在的问题:

  • 一个容器故障停机了,怎么样保证高可用让另外一个容器立刻启动去替补上停机的容器。
  • 当并发访问量上来的时候,是否可以做到自动扩容,并发访问量下去的时候是否可以做到自动缩容

随着应用越来越复杂,容器的数量也越来越多,由此衍生了管理运维容器的重大问题(容器编排问题)。而且随着云计算的发展,云端最大的挑战,容器在漂移。

=》k8s提出了一套全新的基于容器技术的分布式架构领先方案。

K8S介绍:容器编排工具

可以实现容器集群的自动化部署、自动扩缩容、维护等功能

通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。这使得从研发到测试、生产能提供一致环境。

  • 服务发现与调度:服务可以通过自动发现的形式找到它所依赖的服务。
  • 负载均衡:如果一个服务启动了多个容器,能够自动实现请求的负载均衡。
  • 服务自愈:自动化容器恢复。一旦某一个容器崩溃,能够在1秒左右迅速启动新的容器。
  • 服务弹性扩容:可以根据需要,自动对集群中正在运行的容器数量进行调整。
  • 横向扩容:
  • 存储卷挂载(存储编排):可以根据容器自身的需求自动创建存储卷。

组成:Master节点 + Node(Worker)节点

Master控制节点

集群控制节点,管理和控制整个集群。所有控制命令都发给它,它负责具体的执行过程。

组件

  • ApiServer :资源操作的唯一入口,接收用户输入的命令,提供认证、授权、Api 注册和发现等机制。
  • Controller Manager(kube-controller-manager):所有资源对象的自动化控制中心,维护管理集群的状态,比如故障检测,自动扩展,滚动更新等。
  • Scheduler(kube-scheduler): 负责资源调度,按照预定的调度策略将Pod调度到相应的node上。
  • etcd:负责存储集群中各种资源对象的信息,保存整个集群的状态

Node工作节点

在master中使用命令 kubectl get nodes 查看集群中的node节点。

每个Node都会被Master分配一些工作负载(Docker容器),当某个Node宕机时,该节点上的工作负载就会被Master自动转移到其它节点上。

组件

  • kubelet:负责维护容器的生命周期,即通过控制 docker 来创建、更新、销毁容器。负责Pod对应的容器的创建、启停等任务,同时与Master密切协作,实现集群管理的基本功能。
  • kube-proxy:负责提供集群内部的服务发现(service通信)和负载均衡。
  • docker(Docker Engine):Docker引擎,负责本机的容器创建和管理。

搭建

一主多从:一台 master 节点和多台 node 节点,搭建比较简单,但是有可能出现 master 单机故障。
多主多从: 多台 master 节点和多台 node 节点,搭建比较麻烦,但是安全性高。

Katacoda:可在浏览器中使用真实环境学习和测试新技术

minikube: 单机版的Kubernetes集群

K8S中文文档

什么是K8S

《k8s 集群搭建》不要让贫穷扼杀了你学 k8s 的兴趣!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值