您的位置 首页 php

Kubernetes(k8s)为什么这么火?全面了解容器化部署技术

19252709b2c84542813c678d585a4294

Kubernetes是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时Kubernetes提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。

Kubernetes中,Service是分布式集群架构的核心,一个Service对象拥有如下关键特征:

  • 拥有一个唯一指定的名字
  • 拥有一个虚拟IP(Cluster IP、Service IP、或VIP)和端口号
  • 能够体统某种远程服务能力
  • 被映射到了提供这种服务能力的一组容器应用上

Service的服务进程目前都是基于Socket通信方式对外提供服务,比如 Redis Memcache 、MySQL、 Web Server ,或者是实现了某个具体业务的一个特定的TCP Server进程,虽然一个Service通常由多个相关的服务进程来提供服务,每个服务进程都有一个独立的Endpoint(IP+Port)访问点,但Kubernetes能够让我们通过服务连接到指定的Service上。有了Kubernetes内奸的透明负载均衡和故障恢复机制,不管后端有多少服务进程,也不管某个服务进程是否会由于发生故障而重新部署到其他机器,都不会影响我们队服务的正常调用,更重要的是这个Service本身一旦创建就不会发生变化,意味着在Kubernetes集群中,我们不用为了服务的IP地址的变化问题而头疼了。

容器提供了强大的隔离功能,所有有必要把为Service提供服务的这组进程放入容器中进行隔离。为此,Kubernetes设计了Pod对象,将每个服务进程包装到相对应的Pod中,使其成为Pod中运行的一个容器。为了建立Service与Pod间的关联管理,Kubernetes给每个Pod贴上一个标签Label,比如运行MySQL的Pod贴上name=mysql标签,给运行PHP的Pod贴上name=php标签,然后给相应的Service定义标签选择器Label Selector,这样就能巧妙的解决了Service于Pod的关联问题。

在集群管理方面,Kubernetes将集群中的机器划分为一个Master节点和一群工作节点Node,其中,在Master节点运行着集群管理相关的一组进程kube-apiserver、kube-controller-manager和kube-scheduler,这些进程实现了整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错等管理能力,并且都是全自动完成的。Node作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。Node上运行着Kubernetes的kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁以及实现软件模式的负载均衡器。

在Kubernetes集群中,它解决了传统IT系统中服务扩容和升级的两大难题。你只需为需要扩容的Service关联的Pod创建一个Replication Controller简称(RC),则该Service的扩容及后续的升级等问题将迎刃而解。在一个RC定义文件中包括以下3个关键信息。

  1. 目标Pod的定义
  2. 目标Pod需要运行的副本数量(Replicas)
  3. 要监控的目标Pod标签(Label)

在创建好RC后,Kubernetes会通过RC中定义的的Label筛选出对应Pod实例并实时监控其状态和数量,如果实例数量少于定义的副本数量,则会根据RC中定义的Pod模板来创建一个新的Pod,然后将新Pod调度到合适的Node上启动运行,知道Pod实例的数量达到预定目标,这个过程完全是自动化。

Kubernetes优势:

  • 容器编排
  • 轻量级
  • 开源
  • 弹性伸缩
  • 负载均衡

Kubernetes是从事运维人员的必备技术,但是对于开发人员来说也应该掌握这一门技术,我们可以采用Kubernetes技术来进行微服务的部署,想要学的更加深入, 动力节点Kubernetes入门实战教程 ,以精炼的篇幅,在比较短的时间内让你快速掌握Kubernetes,以快速适应公司的需要,不管是开发人员还是运维人员都能快速掌握这一门技术;

k8s视频教程:

k8s资料下载:

K8s核心学习内容

  1. Kubernetes管理员认证(CKA)
  2. Kubernetes整体架构
  3. Kubernetes环境搭建方式
  4. Kubeadm部署Kubernetes
  5. Kubernetes部署环境要求
  6. Kubernetes部署环境准备
  7. Kubernetes安装具体步骤
  8. Kubernetes部署网络插件
  9. Kubernetes部署“容器化应用”
  10. 在Kubernetes集群中部署一个Nginx
  11. 在Kubernetes集群中部署一个Tomcat
  12. 在Kubernetes集群中部署SpringBoot应用
  13. 部署Kubernetes Dashbaord
  14. 采用Ingress暴露应用
  15. 采用Ingress暴露容器化应用(Nginx)
  16. kubernetes部署Spring Cloud微服务
  17. Kubernetes架构及和核心组件

文章来源:智云一二三科技

文章标题:Kubernetes(k8s)为什么这么火?全面了解容器化部署技术

文章地址:https://www.zhihuclub.com/49136.shtml

关于作者: 智云科技

热门文章

网站地图