写点什么

Java 进阶之路:看完这篇 Kubernetes 的深入分析后,我完全掌握了这门技术

  • 2022 年 4 月 14 日
  • 本文字数:1422 字

    阅读完需:约 5 分钟

Kubernetes (通常称为 K8s,K8s 是将 8 个字母“ubernete”替换为“8”的缩写) 是用于自动部署、扩展和管理容器化(containerized)应用程序的开源系统。Google 设计并捐赠给 Cloud Java 开源项目【ali1024.coding.net/public/P7/Java/git】 Native Computing Foundation(今属 Linux 基金会)来使用的。


它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。它支持一系列容器工具, 包括 Docker 等。CNCF 于 2017 年宣布首批 Kubernetes 认证服务提供商(KCSPs),包含 IBM、MIRANTIS、华为、inwinSTACK 迎栈科技等服务商。


[](()背景


=====================================================================


  • 2014 年 docker 容器编排工具,立项

  • 2015 年 7 月 发布 kubernetes 1.0, 加入 cncf

  • 2016 年,kubernetes 干掉两个对手,docker swarm,mesos 1.2 版

  • 2017 年

  • 2018 年 k8s 从 cncf 基金会 毕业

  • 2019 年: 1.13、1.14 、1.15 cncf cloud native compute foundation

  • kubernetes (k8s):希腊语舵手,领航 容器编排领域,谷歌 16 年容器使用经验,borg 容器管 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 理平台,使用 golang 重构 borg,kubernetes


[](()作用?


======================================================================


①自愈:重新启动失败的容器,在节点不可用时,替换和重新调度节点上的容器,对用户定义的健康检查不响应的容器会被终止,并且在容器准备好服务之前不会把其向客户端广播。


②弹性伸缩:通过监控容器的 cpu 的负载值,如果这个平均高于 80%,增加容器的数量,如果这个平均低于 10%,减少容器的数量。


③服务的自动发现和负载均衡:不需要修改您的应用程序来使用不熟悉的服务发现机制,Kubernetes 为容器提供了自己的 IP 地址和一组容器的单个 DNS 名称,并可以在它们之间进行负载均衡。


④滚动升级和一键回滚:Kubernetes 逐渐部署对应用程序或其配置的更改,同时监视应用程序运行状况,以确保它不会同时终止所有实例。 如果出现问题,Kubernetes 会为您恢复更改,利用日益增长的部署解决方案的生态系统。


惊喜在后面,请继续看完


[](()K8S 实现了什么?


============================================================================


从架构设计层面,我们关注的可用性,伸缩性都可以结合 k8s 得到很好的解决,如果你想使用微服务架构,搭配 k8s,真的是完美,再从部署运维层面,服务部署,服务监控,应用扩容和故障处理,k8s 都提供了很好的解决方案。


具体来说,主要包括以下几点:


1/服务发现与调度


2/负载均衡


3/服务自愈


4/服务弹性扩容


5/横向扩容


6/存储端挂载


总而言之,k8s 可以使我们应用的部署和运维更加方便。


我们再来看下 k8s 的架构:



k8s 集群由 Master 节点和 Node(Worker)节点组成。


###Master 节点


Master 节点指的是集群控制节点,管理和控制整个集群,基本上 k8s 的所有控制命令都发给它,它负责具体的执行过程。在 Master 上主要运行着:


  • Kubernetes Controller Manager(kube-controller-manager):k8s 中所有资源对象的自动化控制中心,维护管理集群的状态,比如故障检测,自动扩展,滚动更新等。

  • Kubernetes Scheduler(kube-scheduler): 负责资源调度,按照预定的调度策略将 Pod 调度到相应的机器上。

  • etcd:保存整个集群的状态。


Java 面试核心知识点笔记


其中囊括了 JVM、锁、并发、Java 反射、Spring 原理、微服务、Zookeeper、数据库、数据结构等大量知识点。



Java 中高级面试高频考点整理




最后分享 Java 进阶学习及面试必备的视频教学



用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
Java进阶之路:看完这篇Kubernetes的深入分析后,我完全掌握了这门技术_Java_爱好编程进阶_InfoQ写作平台