【K8S】kubernetes概念和架构(一)

简介: 【K8S】kubernetes概念和架构(一)

1、K8S概述和特征

K8S概述:

  • 1️⃣ K8S由谷歌在2014年开源的容器化集群管理系统
  • 2️⃣使用K8S进行容器化应用部署
  • 3️⃣使用K8S利于应用扩展
  • 4️⃣K8S目标实施让部署容器化应用更加简洁和高效


K8S特性:

  • 自动装箱——基于容器对应用运行环境的资源配置要求自动部署应用容器。
  • 自我修复自愈能力)——容器失败,对其重启。当所部署的Node节点有问题时,会对容器进行重新部署和重新调度。当容器未通过监控检查时,会对关闭此容器直到容器正常运行时,才会对外提供服务。
  • 水平扩展——高峰期,副本数量增加;低峰期,副本数量减少。通过简单的命令、用户UI界面或基于CPU等资源使用情况,对应用容器进行规模扩大或规模剪裁
  • 服务发现——负载均衡,对外提供统一入口。
  • 滚动更新——对容器运行的应用,进行一次性或批量式更新。
  • 版本回退——根据应用的部署情况,对应用容器运行的应用,进行历史版本及时回退。
  • 密钥和配置管理——部署和更新密钥和应用配置,类似热部署。
  • 存储编排——自动实现存储系统挂载及应用。
  • 批处理——提供一次性任务、定时任务,满足批量数据处理和分析的场景。


2、K8S集群架构组件

35bc1c000a3259c294420fc05c580fbf.png

Master——主控节点组件(主要负责管理工作)

  • apiserver提供了**资源操作的唯一入口**,以restfulfa方式并提供认证、授权、访问控制、API注册和发现等机制;
  • scheduler负责资源的调度,选择node节点应用部署。按照预定的调度策略将Pod调度到相应的机器上;
  • controller manager负责维护集群的状态,处理集群中常规后台任务,一个资源对应一个控制器。比如故障检测、自动扩展、滚动更新等,一个资源对应一个控制器;
  • etcd 存储系统,用于保存整个集群的状态相关数据;

Node——工作节点组件(主要负责业务工作)

  • kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;master派node节点代表,管理本地容器。
  • kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;提供网络代理,负载均衡等操作。
  • docker 负责容器服务


3、K8S核心概念

  • Pod——最小部署单元;一组容器的集合、共享网络、生命周期是短暂的。


在Kubernetes中,最小的管理元素不是一个个独立的容器,而是Pod,Pod是最小的,管理,创建,计划的最小单元。

参考链接:Kubernetes(k8s)中文文档 名词解释 Pods_Kubernetes中文社区

  • Controller——确保预期的Pod副本数量;无状态应用部署(随便用);有状态应用部署(需要有特定的存储、网络环境)

确保所有的node运行同一个pod、一次性任务和定时任务。

参考链接:Kubernetes(k8s)中文文档 名词解释 Replication Controller_Kubernetes中文社区

Service——定义一组pod的访问规则

参考链接:Kubernetes(k8s)中文文档 名词解释 Services_Kubernetes中文社区

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
5天前
|
Kubernetes Cloud Native 持续交付
构建高效云原生应用:Kubernetes与微服务架构的融合
【5月更文挑战第6天】 在数字化转型的浪潮中,企业正迅速采纳云原生技术以实现敏捷性、可扩展性和弹性。本文深入探讨了如何利用Kubernetes这一领先的容器编排平台,结合微服务架构,构建和维护高效、可伸缩的云原生应用。通过分析现代软件设计原则和最佳实践,我们提出了一个综合指南,旨在帮助开发者和系统架构师优化云资源配置,提高部署流程的自动化水平,并确保系统的高可用性。
27 1
|
7天前
|
Kubernetes 监控 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【5月更文挑战第4天】在现代软件开发中,微服务架构已成为实现可扩展、灵活且独立部署服务的流行解决方案。本文将探讨如何利用Docker容器化技术和Kubernetes容器编排平台来构建一个高效的微服务系统。我们将分析Docker和Kubernetes的核心优势,并指导读者如何通过这些工具优化微服务部署、管理和扩展过程。文章还将涉及监控和日志管理策略,以确保系统的健壮性和可靠性。
|
11天前
|
Kubernetes API 调度
|
12天前
|
Kubernetes 监控 Docker
|
12天前
|
安全 Java 数据安全/隐私保护
Spring Boot优雅实现多租户架构:概念与实战
【4月更文挑战第29天】在多租户系统中,一个应用实例服务于多个租户,每个租户享有独立的数据视图,而应用的基础设施被共享。这样的架构不仅优化了资源使用,还能降低维护和运营成本。本文将详细介绍如何在Spring Boot中实现多租户架构,并提供具体的实战案例。
38 2
|
12天前
|
Kubernetes 测试技术 Docker
K8S中Deployment控制器的概念、原理解读以及使用技巧
K8S中Deployment控制器的概念、原理解读以及使用技巧
|
14天前
|
Kubernetes 负载均衡 Docker
【专栏】构建高效微服务架构:Docker和Kubernetes在构建微服务架构中的应用
【4月更文挑战第27天】本文介绍了Docker和Kubernetes在构建微服务架构中的应用。Docker是开源容器引擎,用于打包和分发应用,实现隔离和封装,提升可扩展性和可维护性。Kubernetes是容器编排平台,自动化部署、扩展和管理容器,提供负载均衡和故障转移。二者结合,能高效支持微服务架构。文中通过实例展示了如何将用户、商品和订单服务用Docker打包,再用Kubernetes部署和管理,确保微服务稳定运行。
|
14天前
|
敏捷开发 运维 监控
【专栏】微服务架构,以敏捷、灵活著称,通过拆分大型应用为小型自治服务,简化开发运维
【4月更文挑战第27天】微服务架构,以敏捷、灵活著称,通过拆分大型应用为小型自治服务,简化开发运维。本文探讨其基本概念、起源,核心优势(如敏捷开发、高可伸缩性)及挑战(系统复杂度、数据一致性),并分享实施策略(服务划分、技术选型、CI/CD)与实践案例(Netflix、Uber、Spotify),展示微服务如何重塑软件开发,并成为未来复杂应用系统的基础。
|
2天前
|
Kubernetes Java API
Kubernetes详解(三)——Kubernetes集群组件
Kubernetes详解(三)——Kubernetes集群组件
12 1