热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Kubernetes入门须知

文章目录一、入门须知二、Kubernetes特性三、微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布四、Kubernetes集群架构与组件4.1、Master组件4.1.1、k

文章目录

  • 一、入门须知
  • 二、Kubernetes特性
  • 三、微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布
  • 四、Kubernetes集群架构与组件
    • 4.1、Master组件
      • 4.1.1、kube-apiserver
      • 4.1.2、kube-controller-manager
      • 4.1.3、kube-scheduler
      • 4.1.4、etcd
    • 4.2、Node组件
    • 4.4、kubelet
      • 4.4.1、kube-proxy
      • 4.4.2、docker或rocket
  • 五、Kubernetes核心概念


一、入门须知

1.熟悉Linux基础命令
2.熟悉Docker基本管理
3.了解SSL证书工作原理
4.了解负载均衡工作原理(L4/L7)
5.了解集群,分布式概念
6.了解域名解析原理
7.了解网络协议


二、Kubernetes特性

自我修复
在节点故障时重新启动失败的容器,替换和重新部署,保证预期的副本数量:杀死健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断。
弹性伸缩
使用命令、U或者基于CPU使用情况自动快速打容和缩容应用程序实例,保证应用业务高峰并发时的高可用性:业务低峰时回收资源,以最小成本运行服务。
自动部署和回滚
K8S采用滚动更新策略更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不受影响业务。
服务发现和负载均衡
K8S为多个容器提供一个统一访问入口 (内部IP地址和一个DNS名称),并且负载均衡关联的所有容器,使得用户无需考虑容器IP问题。
机密和配置管理
管理机密数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性。并可以将一些常用的配置存储在K8S中,方便应用程序使用。
存储编排
挂载外部存储系统,无论是来自本地存储,公有云(如AWS),还是网络存储(如NFS. GlusterFS、 Ceph) 都作为集群资源的一部分使用,极大提高存储使用灵活性。
批处理
提供一次性任务,定时任务;满足批量数据处理和分析的场景。


三、微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布

在项目迭代的过程中,不可避免需要”上线”。 上线对应着部署,或者重新部署;部臀对应着修改;修改则意味着风险。
目前有很多用于部署的技术,有的简单,有的复杂;有的得停机,有的不需要停机即可完成部署。本文的目的就是将目前常用的布署方案做一个总结。


四、Kubernetes集群架构与组件

在这里插入图片描述
在这里插入图片描述

4.1、Master组件


4.1.1、kube-apiserver


Kubernetes API,集群的统一入口, 各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交给Etcd存储。


4.1.2、kube-controller-manager


处理集群中常规后合任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的。


4.1.3、kube-scheduler


根据调度算法为新创建的Pod选择一个Node节点,可以任意部署可以部署在同一个节点上,也可以部署在不同的节点上。


4.1.4、etcd


分布式键值存储系统。用于保存集群状态数据,比如Pod、Service 等对象信息。


4.2、Node组件


4.4、kubelet


kubelet是Master在Node节点上的Agent,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、下载secret、获取容器和节点状态等工作。kubelet将每个Pod转换成一组容器。


4.4.1、kube-proxy


在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。


4.4.2、docker或rocket


容器引擎,运行容器。


五、Kubernetes核心概念

在这里插入图片描述

●Pod最小部署单元一组容器的集合一个Pod中的容 器共享网络命名空间Pod是短暂的●ControllersReplicaSet :确保预期的Pod副本数量Deployment :无状态应用 部署StatefulSet :有状态应用 部署DaemonSet :确保所有Node运行同一个PodJob :一次性任务Cronjob:定时任务更高级层次对象,部署和管理Pod●Service防止Pod失联定义一组Pod的访 问策略● Label: 标签,附加到某个资源上,用于关联对象、查询和筛选●Namespaces: 命名空间,将对象逻辑上隔离●Annotations :注释


推荐阅读
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 通过与阿里云的合作,牛客网成功解决了跨国视频面试中的网络卡顿问题,为求职者和面试官提供了更加流畅的沟通体验。 ... [详细]
  • 本文详细介绍如何在Linux系统中配置SSH密钥对,以实现从一台主机到另一台主机的无密码登录。内容涵盖密钥对生成、公钥分发及权限设置等关键步骤。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • ServiceStack与Swagger的无缝集成指南
    本文详细介绍了如何在ServiceStack项目中集成Swagger,以实现API文档的自动生成和在线测试。通过本指南,您将了解从配置到部署的完整流程,并掌握如何优化API接口的开发和维护。 ... [详细]
author-avatar
pomngjkldjg_849_788
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有