kubernetes概述-介绍、组件、架构

简介: kubernetes概述-介绍、组件、架构

kubernetes基本介绍

1.kubernetes是什么?

Kubernetes是一个开源的容器管理平台,简称k8s,用于管理多个主机上的容器化应用程序;提供应用程序的快速部署,维护和扩展的基本机制;Kubernetes提供了应用程序的快速部署、扩缩容,升级的能力,利用service可以实现服务注册和发现以及转发,通过ingress可以实现七层负载均衡等功能;Kubernetes这个名字源于希腊语,意思是舵手或飞行员。谷歌在2014年开放了Kubernetes项目.Kubernetes建立在谷歌拥有大量运行生产工作量的十五年经验的基础上,结合了社区中的最佳创意和实践,社区活跃度很高。

2.kubernetes容器编排工具的优势

1)灵活部署

    kubernetes支持在多种平台部署,支持私有云,公有云,混合云下部署

    2)安全高效

      rbac

      3)负载均衡

        service四层负载均衡
        ingress七层负载均衡

        3.kubernetes的功能

        1)多租户网络隔离,namespace

        2)高可用,高可扩展性

        3)节省资源,优化硬件资源的使用

        4.kubernetes应用场景

        1)DevOps开发运维一体化

        2)微服务

        5.Kubernetes特点

        1)可移植:

          支持公有云,私有云,混合云,多重云(multi-cloud)

          2)可扩展

            模块化, 插件化, 可挂载, 可组合

            3)自愈

              自动布置,自动重启,自动复制,自动扩展

              6.Kubernetes可以满足很多运行环境中应用的需求,比如:

              进程协同,利用复合应用保证应用和容器一对一的模型。
              存储系统挂载
              分发密钥
              应用健康检测
              应用实例复制
              水平自动扩展
              命名和发现
              负载均衡
              滚动更新
              资源监控
              日志访问
              自检和调试
              识别和认证

              这为PaaS提供了IaaS层的便利,提供了基础设施提供者间的可移植性。

              kubernetes架构

              k8s的物理结构是master/node模式,架构图如下所示

              master一般是三个节点或者五个节点做高可用,根据集群规模来定,master高可用指的是对apiserver做高可用或者对master的物理节点做高可用

              node可以有多个节点,专门用来部署应用的。

              kubernetes核心组件

              1.master节点组件

              1)apiserver

              提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制,负责接收、解析、处理请求。

              2)scheduler

              调度器,负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上。

              3)kube-controller-manager

              控制器,负责维护集群的状态,检查pod的健康状态,比如故障检测、自动扩展、滚动更新等一些操作;

              4)etcd

              etcd是一个key/value形式的键值存储,保存了整个kubernetes集群的状态,在kubernetes中使用etcd时,需要对etcd做备份,保证高可用;整个kubernetes系统中一共有两个服务需要用到etcd用来协同和存储配置,分别是:

                网络插件calico、对于其它网络插件也需要用到etcd存储网络的配置信息
                kubernetes本身,包括各种对象的状态和元信息配置

                注意:

                网络插件操作etcd使用的是v2的API,而kubernetes操作etcd使用的v3的API,
                所以在下面我们执行etcdctl的时候需要设置ETCDCTL_API环境变量,
                该变量默认值为2,表示使用v2版本的api,v3表示使用v3版本的api

                5)kube-proxy

                k8s代理,是在集群中的每个节点上运行的网络代理,kube-proxy负责请求转发,一旦发现了某一个Service关联的Pod信息发生了改变(如IP、Port等),由Kube-Proxy就会把变化后的service转换成IPVS或IPtables规则中,完成对后端pod的负载均衡

                6)calico

                Calico是一个纯三层的网络插件,calico的bgp模式类似于flannel的host-gw,calico在kubernetes中可提供网络功能和网络策略

                7)cordns

                k8s1.11之前使用的是kubedns,1.11之后才有coredns,coredns是一个DNS服务器,能够为Kubernetes services提供DNS记录

                8)kubelet

                负责与master节点的apiserver进行通信的,接收到客户的请求,进行创建Pod,管理Pod,启动pod等相关操作

                9)docker

                是一个容器引擎,用于运行容器


                2.node节点组件,工作节点组件

                1)kubelet

                负责与master节点的apiserver进行通信的,接收到客户的请求,进行创建Pod,管理Pod,启动pod等相关操作

                2)kube-proxy

                k8s代理,是在群集中的每个节点上运行的网络代理,kube-proxy负责请求转发,一旦发现了某一个Service关联的Pod信息发生了改变(如IP、Port等),由Kube-Proxy就会把变化后的service转换成IPVS或IPtables规则中,完成对后端pod的负载均衡

                3)calico

                Calico是一个纯三层的网络插件,calico的bgp模式类似于flannel的host-gw,calico在kubernetes中可提供网络功能和网络策略

                4)docker

                是一个容器引擎,用于运行容器


                3.附加组件

                1)dashboard

                k8s的web ui界面,通过这个界面可以对k8s资源进行操作

                2)Ingress Controller

                七层负载均衡控制器,可以创建nginx或者traefik这种七层负载应用,实现域名和https访问

                3)prometheus+alertmanager+grafana

                监控套件,可监控k8s集群或物理节点

                4)efk

                日志分析平台

                5)metrics

                用于收集资源指标,hpa需要基于metrics实现自动扩缩容

                相关实践学习
                深入解析Docker容器化技术
                Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
                相关文章
                |
                运维 Kubernetes Cloud Native
                智联招聘 × 阿里云 ACK One:云端弹性算力颠覆传统 IDC 架构,打造春招技术新范式
                在 2025 年春季招聘季的激战中,智联招聘凭借阿里云 ACK One 注册集群与弹性 ACS 算力的深度融合,成功突破传统 IDC 机房的算力瓶颈,以云上弹性架构支撑千万级用户的高并发访问,实现招聘服务效率与稳定性的双重跃升。
                |
                人工智能 Kubernetes 数据可视化
                Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
                本文回顾了一次关键词监测任务在容器集群中失效的全过程,分析了中转IP复用、调度节奏和异常处理等隐性风险,并提出通过解耦架构、动态IP分发和行为模拟优化采集策略,最终实现稳定高效的数据抓取与分析。
                327 2
                Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
                |
                消息中间件 Java Kafka
                Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
                本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
                597 7
                |
                人工智能 运维 安全
                AI 安全架构概述
                AI 安全架构涵盖数据采集、模型训练、推理部署等阶段,确保安全性、隐私与合规。其核心组件包括数据层、模型层、推理层、应用层和运维层,针对数据安全威胁(如数据投毒)、模型窃取、对抗攻击及系统漏洞等风险,提出数据加密、对抗训练、联邦学习等防御策略,并强调开发前、开发中和部署后的最佳实践,以降低 AI 解决方案的安全风险。
                1778 14
                |
                Java Linux 虚拟化
                【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
                1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
                904 2
                |
                Kubernetes Devops API
                从零到面试高手:每个 DevOps 专业人士都必须知道的 20 个 Kubernetes 架构问答
                Kubernetes 是当前 DevOps、云原生和 SRE 领域的关键技能。本文总结了 20 个高频面试问题,涵盖架构组件、工作原理及核心概念,助你轻松掌握 Kubernetes 基础,提升面试与实战能力。
                618 2
                |
                边缘计算 Kubernetes 物联网
                Kubernetes 赋能边缘计算:架构解析、挑战突破与实践方案
                在物联网和工业互联网快速发展的背景下,边缘计算凭借就近处理数据的优势,成为解决云计算延迟高、带宽成本高的关键技术。而 Kubernetes 凭借统一管理、容器化适配和强大生态扩展性,正逐步成为边缘计算的核心编排平台。本文系统解析 Kubernetes 适配边缘环境的架构分层、核心挑战与新兴解决方案,为企业落地边缘项目提供实践参考。
                1142 0
                |
                Kubernetes Cloud Native 持续交付
                容器化、Kubernetes与微服务架构的融合
                容器化、Kubernetes与微服务架构的融合
                821 82
                |
                Kubernetes 监控 Serverless
                基于阿里云Serverless Kubernetes(ASK)的无服务器架构设计与实践
                无服务器架构(Serverless Architecture)在云原生技术中备受关注,开发者只需专注于业务逻辑,无需管理服务器。阿里云Serverless Kubernetes(ASK)是基于Kubernetes的托管服务,提供极致弹性和按需付费能力。本文深入探讨如何使用ASK设计和实现无服务器架构,涵盖事件驱动、自动扩展、无状态设计、监控与日志及成本优化等方面,并通过图片处理服务案例展示具体实践,帮助构建高效可靠的无服务器应用。
                |
                监控 Cloud Native Java
                基于阿里云容器服务(ACK)的微服务架构设计与实践
                本文介绍如何利用阿里云容器服务Kubernetes版(ACK)构建高可用、可扩展的微服务架构。通过电商平台案例,展示基于Java(Spring Boot)、Docker、Nacos等技术的开发、容器化、部署流程,涵盖服务注册、API网关、监控日志及性能优化实践,帮助企业实现云原生转型。

                推荐镜像

                更多