Kubernetes基础

Kubernetes(K8s)的优点与缺点 Kubernetes作为容器编排领域的领先技术,具有强大的扩展性、自动化部署与管理、高可用性与容错性等优点,但同时也面临着学习曲线陡峭、资源消耗较大、配置和管理复杂度较高等挑战。同时,随着容器技术的广泛应用和云原生生态的蓬勃发展,K8s将继续在企业级应用中发挥重要作用,助力企业实现数字化转型和升级。在实际应用中,我们需要根据具体场景和需求来评估是否使用K8s,并采取相应的措施来克服其潜在的缺点和挑战。Kubernetes,简称K8s,作为容器编排领域的领军者,已经得到了广泛的认可和应用。 阅读详情

一、 Kubernetes基础

1. 什么是Kubernetes(k8s)?

  • k8s是Google的一个开源容器编排引擎,用于自动部署、扩展和管理容器化应用程序。Kubernetes集群可以跨本地和公共云基础设施跨越主机,使Kubernetes成为托管云本地应用程序的理想平台。

  • Kubernetes 的一般概念相当简单:

    • 从一个或多个工作节点开始运行容器工作负载。

    • 从一个或多个控制平面节点管理这些工作负载的部署。

    • 将容器包装在称为 Pod 的部署单元中。使用 Pod 为容器提供额外的元数据,并提供将多个容器分组到单个部署实体中的能力。

    • 创建特殊类型的资产。例如,服务由一组 Pod 和定义如何访问它们的策略表示。此策略允许容器连接到它们需要的服务,即使它们没有服务的特定 IP 地址。复制控制器是另一种特殊资产,它指示一次运行需要多少个 Pod 副本。您可以使用此功能自动扩展您的应用程序以适应其当前需求。

https://kubernetes.io/ #k8s官网
https://github.com/kubernetes/kubernetes/ #大量 example案例
https://www.kubernetes.org.cn/ #kubernetes中文社区
http://docs.kubernetes.org.cn/ #大量中文文档

2. 为什么要用k8s?

IT是一个由新技术驱动的行业,Docker这个容器技术当前已经被很多公司所采用,其从单机走向集群已成为必然,k8s作为当前唯一被业界广泛看好的Docker分布式系统解决方案,未来会有大量的新系统选择它。

2.1 k8s的好处

  • 跨多个主机编排容器

  • 更好地利用硬件来最大化运行您的企业应用程序所需要的资源

  • 控制和自动化应用程序部署和更新

  • 挂载并添加存储空间以运行具有有状态的应用程序

  • 声明式地管理服务,以保证已部署的服务应用程序总是以您预期的运行方式运行。

  • 使用autoplacement进行健康检查和自我修复应用程序,自动重新启动、自动重新应用和自动缩放

  • 客户在其环境中使用Kubernetes的优势在于能够在物理系统或虚拟机(VM)的集群上调度和运行容器。并且客户的系统可以随时随地整体“搬迁”到公有云上。

  • 超强的横向扩容能力。不用修改代码,一个k8s集群即可从只包含几个node的小集群平滑扩展到拥有上百个node的大规模集群,只要微服务设计的好,结合硬件或公有云资源的线性增加,系统就能承受大量用户的并发访问所带来的巨大压力。

  • k8s可以在以下环境中运行:

    • ​ 裸金属服务器
    • ​ 虚拟机
    • ​ 公有云供应商
    • ​ 私有云
    • ​ 混合云环境

3. k8s的架构

在这里插入图片描述

1. Master

  • Master节点上面主要由四个模块组成:kube-APIServer、kube-scheduler、kube-controller-manager、etcd
    • kube-APIServer负责对外提供RESTful的Kubernetes API服务,他是系统管理指令的统一入口,任何对资源进行增删改查的操作都要交给APIServer处理后再提交给etcd。如架构图所示,kubectl(k8s提供的客户端工具,该工具内部就是对Kubernetes API的调用)是直接和APIServer交互的。
    • kube-scheduler负责调度Pod到合适的Node上。如果把scheduler看成一个黑匣子,那么它输入的是Pod和由多个Node组成的列表,输出的是Pod和一个Node的绑定,即将这个Pod部署到这个Node上。k8s目前提供了调度算法,但是同样也保留了接口,用户可以根据自己的需求定义自己的调度算法。
    • kube-controller-manager负责管理资源的控制器(一般每个资源都对应一个控制器)。比如我们通过APIServer创建一个Pod,当这个Pod创建成功后,APIServer的任务就算完成了。而后面保证Pod的状态始终和我们预期的一样的重任就由kube-controller-manager去完成。
      • 这些控制器包括:
        • 节点(Node)控制器
        • 副本(Replication)控制器:负责维护系统中每个副本中的Pod
          • k8s集群中的服务扩容和系统升级,只需要为扩容的Service关联的Pod创建一个Replication Controller(简称RC),则该Service的扩容及升级都可以解决。在一个RC定义文件中包括以下3各关键信息
            • 目标Pod的定义
            • 目标Pod需要运行的副本数量(replicas)
            • 要监控的目标Pod标签
          • 在创建好RC(系统会自动创建好Pod)后,k8s会通过RC定义的Label筛选出对应的Pod实例并实时监控其状态和数量,如果实例数量少于定义的副本数量(ralicas),则会根据RC中定义的Pod模板来创建一个新的Pod,然后将此Pod调度到合适的node上启动运行,直到Pod实例的数量达到预定目标。
        • 端点(endpoint)控制器:填充Endpoints对象(即连接services&Pods)
        • Service Account和Token控制器:为新的Namespace创建默认账户访问API Token
    • etcd是一个高可用的键值存储系统,k8s使用它来存储各个资源的状态,从而实现了Restful的API。

2.Node

  • Node节点可以是物理机,也可以是私有云火或公有云中的一个虚拟机。每个Node主要由三个模块组成:kubelet、kube-proxy、runtime
    • kubelet是Master在每个Node节点上面的agent,是Node节点上面最重要的模块,负责维护和管理该Node上面的所有容器,但是如果容器不是通过k8s创建的,它并不会管理。本质上它负责使
Kubernetes基础入门(完整版) 简介 Kubernetes这个名字源于希腊语,意为"舵手"或"飞行员”。k8s这个缩写是因为k和s之间有八个字符。Google在 2014年开源了Kubernetes项目,Kubernetes是一个用于自动化部署、扩展和管理容器化应用程序的开源系统。同样类似的容器编排工具还有docker swarm/mesos等,但kubernetes应用最为广泛,社区更为活跃。 kubernetes主要包含了... 阅读详情

相关推荐

Kubernetes基础详解

1. Kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响 虚拟化部署:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境 优点:程序环境不会相互产生影响,提供了一定程度的安全性 缺点:增加了操作系统,浪费了部分资源 容器化部署:与虚拟化类似,但是共享了操作系

qq_45029110的博客 3939

零基础学kubernetes(k8s)必看教程,带你10分钟快速实战入门k8s

作为一个工作十余年,拥有比较丰富的计算机网络运维、主机运维、云计算平台运维、自动化运维开发经验的老鸟,我来说说我当初刚接触Kubernetes时的一些感受以及学习技巧。

Cloud_Native的博客 2万+

kubernetes(k8s)基础环境搭建

什么是kubernetes(k8s)? k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈,例如一个服务器挂了,可以自动将这个服务器上的服务调度到另外一个主机上进行运行,无需进行人工干涉。 (Kubernetes(K8S)是谷歌的第三个容器管理系统(前两个:Borg、Omega,这两个是谷歌内部系统,k8s是开源的),Kubernetes在Docker技术之上,为容器化的应用提供了资源调度、

优快云fengwang的博客 1100

Visual Studio Code 打开java项目

在 Visual Studio Code 中打开并运行一个 Java 项目之前,你需要确保你已经完成了一些初始设置。

2674

1104全部报表版本号-银监会报表

G4B_Ⅲ(a)X1《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(现期风险暴露法)(第一档)》G4B_Ⅲ(b)X1《与非中央交易对手的证券融资交易对手信用风险违约风险计算表(权重法)(第一档)》G4B_Ⅲ(a1)X2《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(标准法)(第二档)》Ⅲ(a)X2《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(现期风险暴露法)(第二档)》Ⅲ(a1)X1《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(标准法)(第一档)》

数字化老司机 6298

海思SD3403/SS928开发(二)环境搭建:从零到一构建高效开发环境的实战指南

本文详细介绍了海思SD3403/SS928开发板环境搭建的全流程,包括Ubuntu系统选择、基础配置、开发环境依赖安装、SDK工具链配置等关键步骤。通过实战经验分享,帮助开发者避免常见问题,快速构建高效开发环境,提升开发效率。

weixin_28717683的博客 285

mbedtls | 01 - 移植mbedtls库到STM32的两种方法

一、mbedtls 开源库 1. mbedtls是什么 Mbed TLS是一个开源、可移植、易于使用、代码可读性高的SSL库。可实现加密原语,X.509证书操作以及SSL / TLS和 DTLS 协议,它的代码占用空间小,非常适合用于嵌入式系统。 mbedtls遵循 Apache 2.0 开源许可协议,目前由 TrustedFirmware 维护(Linaro主持的一个治理开放社区项目),在Github上已收获 2.6k star,目前Github上发布的最新版本为 2.24.0 版本,开源仓库地址为:

Mculover666的博客(嵌入式) 1万+

【人工智能】RAG如何根据实际需求选择和进行文档解析(如 PDF、Word、TXT、网页等)?

文档解析的核心在于根据解析目标、文档类型和处理量选择合适工具。PDF、Word、TXT和网页各有特性:PDF需区分可编辑与扫描版,Word需处理结构化内容,TXT简单但需注意编码,网页需应对动态内容。解析场景包括提取纯文本、结构化数据、保留格式和批量处理。非技术用户可借助工具如Adobe Acrobat、WPS和在线OCR,技术用户可通过编程实现自动化。通用流程为:明确目标、分析文档属性、选择工具并测试优化。核心是“工具适配需求”,无需追求万能方案。

奶爸的编程之路,也就一周冷个三天 506

基于YOLOv26的卫星遥感环境监测系统

本文介绍了一个基于YOLOv26的卫星遥感环境监测系统。该系统采用分层架构设计,包含数据采集、预处理、目标检测、图像分析、变化检测等核心模块。技术栈包括YOLOv26、PyTorch、OpenCV等深度学习框架和图像处理工具,以及GDAL、rasterio等地理信息处理库。系统支持获取多种卫星数据源(如Sentinel、Landsat、MODIS)的遥感图像,并进行时间序列分析。通过代码示例展示了数据采集模块的实现,包括卫星图像获取和模拟生成功能。该系统可应用于环境要素检测、变化监测等场景,为环境监测提供智

一键难忘的博客 935

Silvaco TCAD 半导体器件仿真全攻略:从入门到精通

本文介绍了Silvaco TCAD半导体器件仿真平台的核心功能与应用方法。主要内容包括: Silvaco TCAD的核心模块组成(ATHENA工艺仿真和ATLAS器件仿真)及其在半导体研发中的重要作用,能够通过数值仿真预测器件电学特性,显著降低研发成本。 环境配置要点,包括内存分配、文件目录管理和许可证验证,为仿真工作提供基础保障。 仿真核心概念:详细讲解了网格划分策略和物理模型选择原则,强调基于物理直觉的自适应加密网格方法。 以PN结二极管为例,提供了完整的仿真代码示例,涵盖从网格定义、掺杂设置到结果分析

huanghm88的专栏 201

【OpenClaw从入门到精通】第23篇:OpenClaw办公自动化实战—报表生成+文档批量处理+跨系统同步(2026实操进阶版)

本文聚焦OpenClaw在办公自动化场景的进阶应用,针对职场中高频且重复的报表生成、文档批量处理、跨系统数据同步三大痛点,提供从环境搭建、原理讲解到完整代码实现的全流程实操指南。方案基于Python生态工具链(pandas、Playwright、PyPDF2等)与OpenClaw的低代码编排能力,兼顾新手入门与进阶提升——新手可直接复用代码快速落地,进阶读者可学习流程编排逻辑进行二次开发。所有案例均基于真实办公场景设计,部分虚拟场景已明确标注,代码经本地环境验证可复现。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 968

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: Docker案例练习
下一篇: Kubernetes安装
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值