游客发表

【LinuxSRE工程师培训】kubernetes集群部署!

发帖时间:2025-11-05 05:14:28

  Kubernetes是工程Google 2014年创建管理的,是师培署Google 10多年大规模容器管理技术Borg的开源版本。它是群部容器集群管理系统,是工程一个开源的平台,可以实现容器集群的师培署自动化部署、自动扩缩容、群部维护等功能。工程

  通过Kubernetes你可以:

  快速部署应用   快速扩展应用   无缝对接新的师培署应用功能   节省资源,优化硬件资源的群部使用

  Kubernetes 特点:

  可移植: 支持公有云,私有云,工程混合云,师培署多重云(multi-cloud)   可扩展: 模块化,群部 插件化, 可挂载, 可组合   自动化: 自动部署,自动重启,工程自动复制,师培署自动伸缩/扩展

  k8s有什么功能

  | 自动化上线和回滚

  Kubernetes会分步骤地将针对应用或其配置的群部更改上线,同时监视应用程序运行状况确保你不会同时终止所有实例   如果出现问题,Kubernetes 会为你回滚所作更改。你应该充分利用不断成长的部署方案生态系统

  | 服务发现与负载均衡

  无需修改你的应用程序即可使用陌生的服务发现机制   Kubernetes为容器提供了自己的IP地址和一个DNS名称,并且可以在它们之间实现负载均衡

  | 存储编排

  自动挂载所选存储系统,免费信息发布网包括本地存储、诸如GCP或AWS之类公有云提供商所提供的存储   或者诸如NFS、iSCSI、Gluster、Ceph、Cinder 或 Flocker这类网络存储系统

  | Secret和配置管理

  部署和更新Secrets和应用程序的配置而不必重新构建容器镜像,且不必将软件堆栈配置中的秘密信息暴露出来

  | 自动装箱

  根据资源需求和其他约束自动放置容器,同时避免影响可用性   将关键性工作负载和尽力而为性质的服务工作负载进行混合放置,以提高资源利用率并节省更多资源

  | 批量执行

  除了服务之外,Kubernetes 还可以管理你的批处理和 CI 工作负载,在期望时替换掉失效的容器

  | IPv4/IPv6 双协议栈

  为Pod和Service分配IPv4和IPv6地址

  | 水平扩缩

  使用一个简单的命令、一个UI或基于CPU使用情况自动对应用程序进行扩缩

  | 自我修复

  重新启动失败的容器,在节点死亡时替换并重新调度容器,杀死不响应用户定义的健康检查的容器   并且在它们准备好服务之前不会将它们公布给客户端

  | 为扩展性设计

  无需更改上游源码即可扩展你的 Kubernetes 集群

  kubernetes 集群架构图

  kubernetes 组件

  | Control Plane组成部分

  Scheduler:

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

  Controller Manager:

  Kube-controller-manager,处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是服务器租用负责管理这些控制器的

  Cloud Controller Manager:

  用在云平台上的Kube-controller-manager组件   如果我们直接在物理机上部署的话,可以不使用该组件

  API Server:

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

  Etcd:

  分布式键值存储系统,用于保存集群状态元数据信息,比如Pod,Service等对象信息   这个数据库是可以单独拿出来部署,只需要API server可以连接到该分布式数据库集群即可

  | Node组成部分

  kubelet:

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

  kube-proxy:

  在工作节点上实现Pod网络代理,维护网络规则和四层负载均衡工作   换句话说,就是用于负责Pod网络路由,用于对外提供访问的实现   可以找到你关心的项目所在的pod节点

  POD:

  用户划分容器的最小单位,一个POD可以存在多个容器

  docker/rocket(rkt,已停止支持):

  容器引擎,用于运行容器

  | 附加组件(Add-ons)

  除了上面提到的b2b信息网核心组件,还有一些推荐的附加组件(Add-ons)

  kube-dns: 负责为整个集群提供DNS服务   Ingress Controller: 为服务提供外网入口   Heapster: 提供资源监控   Dashboard: 提供GUI   Federation: 提供跨可用区的集群   Fluentd-elasticsearch: 提供集群日志采集、存储与查询

  由于内容篇幅过长,分两篇文章进行发布,其余内容见链接:kubernetes集群部署(二)!Linux运维培训班

  为了让学员学以致用,老男孩教育不断更新Linux培训教学大纲,与一众讲师精心打造Linux云计算SRE课程体系。老男孩教育Linux云计算SRE运维课程,从零基础开始授课,适合零基础且对Linux感兴趣的学员学习。课程的主要目的就是培养出专业的Linux系统工程师,名师授课全程面授教学,边讲边练帮助学员高效掌握Linux技术。

    热门排行

    友情链接