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

中百信玄武库Kubernetes实践与探索

“Kubernetes其在自动化部署、扩展性、以及管理容器化的应用中已经体现出独特的优势,同样在企业中应用落地已经成为一种共识。中百信玄武库作为ToB服务产品,玄武库研究院在玄武库

“Kubernetes其在自动化部署、扩展性、以及管理容器化的应用中已经体现出独特的优势,同样在企业中应用落地已经成为一种共识。中百信玄武库作为ToB服务产品,玄武库研究院在玄武库平台使用Kubernetes做了哪些实践和探索呢?我们今天和大家分享一下!

Kubernetes是用于自动化部署,扩展和管理容器化应用程序的开源系统。

Kubernetes名称源于希腊语,意为"舵手"或 "领航员"。

Kubernetes中间8个字母"ubernete"用数字8来代替,通常又被研发人员简称为"k8s"。

Kubernetes用更容易的方法去部署和管理复杂的分布式系统,同时仍然能通过容器所提升的使用效率来受益。

玄武库Kubernetes集群示

优势:

单机部署

高可用部署+共享存储(NFS)

劣势:

服务不能自愈

应用更新繁琐

共享存储单点

服务发现和负载均衡,通过 DNS 名称或 IP 地址暴露容器的访问方式,后端pods的增加和减少对于service是自动发现的。

自动发布和回滚,声明期望应用程序容器应该达到的状态(副本数、版本),K8s自动达到期望值。

自动修复,重启已经停机的pods,重启不满足自定义健康检查条件的pods

存储编排,自动挂载指定的存储系统,例如localstroage/nfs/云存储等。

密钥与配置管理,可以存储和管理敏感信息(密码,密钥),更新密钥或者配置不用重新构建镜像。

不限制应用程序类型,有状态、无状态、数据处理等类型的应用;可以在容器中运行的服务,就可以在k8s中运行。

不部署源码、不编译或构建应用程序,交给Jenkins, Harbor。

不提供应用级别的服务作为内置服务,例如中间件, 队列, 数据库。

不指定日志,监控,告警解决方案,例如Loki, ELK, Prometheus, Grafana, Zipkin。

不提供或者限定配置工具,例如Kuboard, Rancher。

Deployment 无状态部署

StatefulSet 有状态集合

DaemonSet 守护进程集合

Pod 运行应用程序

Service 暴露应用访问

Volume 存储卷

Namespace 命名空间

Node 节点

宿主机 物理机或者虚拟机

集群-部署应用-外部可见-扩容-更新1

集群-部署应用-外部可见-扩容-更新2

集群-部署应用-外部可见-扩容-更新3

集群-部署应用-外部可见-扩容-更新4

集群-部署应用-外部可见-扩容-更新5

集群-部署应用-外部可见-扩容-更新6

集群-部署应用-外部可见-扩容-更新7

集群-部署应用-外部可见-扩容-更新8

CRI(Container Runtime Interface):容器运行时接口,提供计算资源

CNI(Container Network Interface):容器网络接口,提供网络资源

CSI(Container Storage Interface):容器存储接口,提供存储资源

这些接口让Kubernetes的开放性变得最大化,而Kubernetes本身则专注于容器调度。

快速扩缩容

自动修复,无单点故障

滚动升级

底层变更不中断服务

资源隔离

生态完整:监控、日志、存储、UI客户端等等 https://landscape.cncf.io/

进一步抽象:helm chart

从玄武库使用者角度来看,用户可以实现无感知切换,不影响用户实际体验。

玄武库目前已经使用kubernetes环境,正常交付项目。

中百信玄武库

中百信玄武库服务

参考资料:

官网:https://kubernetes.io/zh/

Github源码地址:https://github.com/kubernetes/kubernetes

部署工具:https://github.com/easzlab/kubeasz

学习手册1:https://github.com/rootsongjc/kubernetes-handbook

学习手册2:https://github.com/opsnull/follow-me-install-kubernetes-cluster

“玄武库” 是中百信软件技术有限公司在微服务的思想下,集多年软件开发的经验,自主研发的基于微服务架构,为业界提供的一套集成软件设计、程序开发、基础服务、运维管理为一体的新型敏捷开发与管理平台。点击链接了解更多:https://www.xuanwuku.com/


推荐阅读
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 解读中台架构:微服务与分布式技术的区别及应用
    中心化与去中心化是长期讨论的话题。中心化架构的优势在于部署和维护相对简单,尤其在服务负载较为稳定的情况下,能够提供高效稳定的性能。然而,随着业务规模的扩大和技术需求的多样化,中心化架构的局限性逐渐显现,如扩展性和故障恢复能力较差。相比之下,微服务和分布式技术通过解耦系统组件,提高了系统的灵活性和可扩展性,更适合处理复杂多变的业务场景。本文将深入探讨中台架构中微服务与分布式技术的区别及其应用场景,帮助读者更好地理解和选择适合自身业务的技术方案。 ... [详细]
  • 面试题总结_2019年全网最热门的123个Java并发面试题总结
    面试题总结_2019年全网最热门的123个Java并发面试题总结 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • (1)前期知识:1. 单机架构:单一服务器计算机——其处理能力和存储容量有限。2. 集群架构(负载均衡器与多节点服务器)——通过增加节点数量来提升系统性能和可靠性,实现高效的任务分配和资源利用。 ... [详细]
  • 本文详细介绍了在Windows XP系统中安装和配置Unix打印服务的方法,以支持远程行式打印机(LPR)功能。对于同时使用Windows 2000 Server打印服务器和Unix打印服务器的网络环境,该指南提供了实用的步骤和配置建议,确保不同平台之间的兼容性和高效打印。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
author-avatar
低调的小男2502928607
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有