云原生技术系列:Kubernetes

本文深入探讨了Kubernetes这一容器编排引擎,详细介绍了其功能、架构,包括服务发现、存储编排、自动部署与回滚、资源自动调度等。文章还阐述了Kubernetes的核心概念,如API对象、节点、Pod、副本控制器等,并讨论了集群联邦等高级特性。此外,总结了Kubernetes在云原生应用资源管理和部署中的关键作用。
摘要由CSDN通过智能技术生成

导言:

在复杂业务的后端服务开发中,拆分出的微服务往往是数十个、上百个,即使用上了容器技术方便了其打包部署,但是众多容器的管理也往往成为研发人员、运维人员的噩梦。前面的篇章已经总体介绍了云原生技术体系,体系中的‘微服务’、‘容器’技术,今天给大家介绍的便是云原生技术体系中的‘容器编排引擎——Kubernetes’。

回顾

云原生核心技术.png

图 云原生核心技术

  • 微服务化的服务与容器结合具备轻量、敏捷、快速部署运维等特征,服务在容器中运行的场景早已成熟;
  • Kubernetes在容器编排领域已经成为事实上的标准;
  • 随着服务网格技术的流行 和 Istio 的成熟,使用 Istio 进行服务治理的实践越来越多,正成为服务治理的趋势;
  • 而 Istio 与 Kubernetes 的天然融合,也补齐了 Kubernetes 的治理能力,提供了基于 Kubernetes 的服务治理平台。

一、kubernetes 基本介绍

Kubernetes是Google开源的一个容器编排引擎,提供了⾯向应⽤的容器集群部署和管理。Kubernetes的⽬标旨在消除编排物理/虚拟计算,⽹络和存储基础设施的负担,并使应⽤程序运营商和开发⼈员完全将重点放在以容器为中⼼的原语上进⾏⾃助运营。Kubernetes也提供稳定、兼容的基础(平台),⽤于构建定制化的工作流和更⾼级的⾃动化任务。

二、kubernetes 功能和架构

2.1 kubernetes 功能简介

Kubernetes具备完善的集群管理能⼒,包括多层次的安全防护和准⼊机制、多租户应⽤⽀撑能⼒、透明的服务注册和服务发现机制、内建负载均衡器、故障发现和⾃我修复能⼒、服务滚动升级和在线扩容、可扩展的资源⾃动调度机制、多粒度的资源配额管理能⼒。Kubernetes还提供完善的管理⼯具,涵盖开发、部署测试、运维监控等各个环节。

  • 服务发现和负载均衡

Kubernetes 可以使用DNS或IP地址来暴露容器,并且使用负载均衡机制平衡网络流量。

  • 存储编排

Kubernetes 允许我们挂载自选存储系统,例如本地存储、公共云存储等。

  • 自动部署和回滚容器

我们可以指定期望的容器部署状态(如缩扩容),Kubernetes 可以自动化的达成和调整我们所期望的容器部署状态。

  • 资源的自动调度

Kubernetes 允许我们指定每个容器所需的 CPU 和内存(RAM)。自动化的为容器分配期望的资源。

  • 自我修复

Kubernetes 将重新启动失败的容器、替换容器、杀死不响应用户定义的运行状况检查的容器,并且在准备好服务之前不将其通告给客户端。

  • 密钥与配置管理

Kubernetes 允许我们存储和管理敏感信息,例如密码、OAuth 令牌和 ssh 密钥。 我们可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,也无需在堆栈配置中暴露密钥。

2.2 kubernetes 集群架构

kubernetes集群架构.png

图 kubernetes集群架构(来源于网络)

 
  • Master:是集群控制节点(包含控制平面相关组件),对集群进行调度管理,接受集群外用户去集群操作请求

    • etcd:兼顾一致性与高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库;
    • kube-apiserver:提供了资源操作的唯⼀⼊⼝,并提供认证、授权、访问控制、API注册和发现等机制;
    • kube-scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
    • kube-controller-manager:负责维护集群的状态,维持副本期望数目,⽐如故障检测、⾃动扩展、滚动更新等;
      • 节点控制器(Node Controller):负责在节点出现故障时进行通知和响应;
      • 任务控制器(Job Controller):监测代表一次性任务的 Job 对象,然后创建 Pods 来运行这些任务直至完成;
      • 端点控制器(Endpoints Controller):填充端点(Endpoints)对象(即加入 Service 与 Pod) ;
      • 服务帐户和令牌控制器(Service Account & Token Controllers):为新的命名空间创建默认帐户和 API 访问令牌;
    • cloud-controller-ma
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值