基于 K8s 的交付难题退退退!| 独家交付秘籍(第三回)
简介: 经过仔细研究,我们发现秘籍中提到许多帮助解决交付问题的招式,而其中一个让我们印象很深,是关于在原有社区版容器底座 Kubernetes(以下简称 K8s)的基础上,对容器底座进行改进,可更好的服务于应用交付的招式。下面,请随我一起来看看您是否是那天选之人吧!
大家好,我是专注于交付的王小锤,看过交付铁三角系列故事(专注交付的我小锤,开发老哥铁子和售前大佬强哥)的同学想必都知道,我们三人服务于一家提供大数据分析服务的 ISV 企业,在应用交付过程中时常面临各种挑战。
那日,就在我们为一个交付难题发愁时,有人兴奋的冲过来说找到了解法。就这样,一本独家交付秘籍走进了我们的世界,而且此秘籍还号称运用好便可让交付更简单。经过仔细研究,我们发现秘籍中提到许多帮助解决交付问题的招式,而其中一个让我们印象很深,是关于在原有社区版容器底座 Kubernetes(以下简称 K8s)的基础上,对容器底座进行改进,可更好的服务于应用交付的招式。下面,请随我一起来看看您是否是那天选之人吧!
天选之人
学习招式前,先来看看您是否为天选之人,适合使用该招式进行交付吧!

被繁重的适配与兼容工作压的喘不过气?
- 不同客户的环境均不同,需反复对硬件参数和操作系统配置,造成环境适配成本升高。POC 环境跑起来后,可能还存在系统库经常缺失或版本不兼容等问题。而如果碰到组件出 BUG 时,还需要等待社区的漫长修复支持,基本只能选择替代方案绕过。由于每个问题的解决都很耗时,留下产品质量不好的负面印象。
- 大量的组件适配工作需人工调试,极耗费时间。使用开源的 K8s 及生态组件搭建环境与部署产品,由于缺少最佳实践做参考,K8s 本身各组件配置灵活度又非常高,很多组件参数配置并不合适,需要人为自己调试。不仅需要进行各种依赖库安装与性能测试,还需每个环境都定制化适配。
期望能够实现兼容性检测与参数的自动适配。
信创趋势下的应用改造困难重重?
- ARM 架构处理器 + 国产操作系统的场景越来越多,而国产化生态圈目前还在快速发展阶段,较难找到合适的ARM 版本组件,不仅如此,找适配组件和改造的过程仍需花费大量时间,而且其中有许多对 IPV6 网络结构的要求或需要支持 IPv4/IPv6 网络双栈。
期望能轻松找到 ARM 版本组件来兼容信创环境,并轻松解决网络、操作系统等难题。
集群安装与调试过程大汗淋漓?


- 因环境不同,在客户现场交付时,需做大量手动配置修改和调试工作。搭建集群后,如果缺乏集群安装和管理工具,还需研发人员提供很多详细的脚本辅助来进行生命周期管理,操作时出错概率加大且部署速度大打折扣。
- 集群的安装部署和组件的扩缩容非常繁琐,整体操作不够灵活。每次安装或扩容完成后还需逐一检查节点、网络、磁盘、DNS 等资源是否都工作正常,很容易漏检,许多场景面临缺乏专业工具进行监测,只能看上层应用是否健康来进行片面的观察。
期望实现分钟级集群的自动化部署、扩缩容等生命周期管理功能。提供节点环境检查、集群健康检查能力,实现敏捷易用,省时更省力。
问题处理与运维管控不够高效?
- 缺乏系统完善的集群安装和运维管理工具,通过集成云原生技术提供的监控、日志、告警能力或东拼西凑组成运维工具,由于运维服务来自多方,时常担心不够稳定。如果自身搭建运维体系,研发周期拉长,交付成本升高。
- 自身搭建运维工具后,物理资源占用变高,在保障运维能力的同时,希望将物理资源占用控制在极小范围,降低业务产品私有化输出成本,希望保障运行环境可靠性的同时,使产品更具竞争力。
- 集群监控的数据收集与编制告警成本高昂。使用 K8s 后,如果想要实现监控工作负载或确保最佳状态,需要采集并理解系统层面的大量的指标针对不同场景来编制告警,对于应用方的研发来说是一个巨大的挑战,需要花费许多时间。
期望有一个自动化运维管控平台解决上述难题。
招式简介
如果您恰巧遇到了上述问题,或曾经被上述问题所困扰,那么您便是那天选之人,答应我继续看下去,来了解这个招式吧。

近年来,随着云原生理念的发展,越来越多的 ISV 选择在 K8s 上,以云原生的形式进行应用开发及部署规划,社区版 K8s 作为稳定性高、兼容性好、安全可靠的底座,已可以为客户提供良好的服务,ISV 在实际的使用和交付业务时感觉效果也很好。但是在愈发复杂的客户场景下,如何让底座更好用更稳定可靠呢?
正如上面提到的,尽管社区版 K8s 提供了可靠的组件供大家使用,但这些组件在应对复杂的业务情况时,能否提供更贴合客户的特有场景的服务?在如此多的运维能力可选择时,如何能够集成出一个全面高效的运维管控平台提供给客户,这都是我们所思考的问题。
做出有别于社区版 K8s,且具有差异化和增值的服务提供给客户,帮助客户解决更多交付难题成为我们一大目标。好在通过不断探索,我们终于找到了方向。遵循客户至上的理念,加以技术打磨,我们励志打造出好用且稳定可靠的容器底座。最终,在着眼于应用交付领域所打造的云原生应用交付平台 ADP(以下简称 ADP)中,我们提供了 ADP 的容器底座 ADP-Local 。ADP-Local 基于原生 K8s 的技术上,为上层业务应用的运行和管理维护提供必要的系统支持,含 k8s,日志收集、监控告警、故障诊断等,为软件提供可靠运行环境及运维工具。帮助客户在遇到上面所描述的难题与困境时,可轻松有效应对。
制胜原因
众所周知,社区版 K8s 作为应用的一部分已被大量的 ISV 交付到客户现场,经历了许多的验证。而我们所提供的底座同样经历了众多复杂客户场景的实践,您可放心使用。由于 ADP-Local 是通过对众多不同复杂现场环境深入研究,不断加以打磨而打造出的容器底座,所以当您使用 ADP-Local 时,您会发现 ADP-Local 具备以下特征:
- 安全可靠:核心组件均来自阿里云容器服务 ACK,并保持同步更新。这些组件经历了数十万商业用户和阿里集团核心业务场景的严苛生产验证,安全性与可靠性经过实践检验。
- 多样兼容:核心组件同时支持 X86 和 ARM 硬件架构,同时容器服务 ACK 发行版包含的高性能网络插件 Hybridnet,又使得网络环境的多样性成为可能,最终确保能够丝滑运行于多样化的基础设施之上。
- 敏捷易用:容器服务 ACK 发行版深度结合阿里巴巴开源的集群应用打包交付工具 Sealer,分钟级实现集群的自动化部署、扩缩容、升级等集群生命周期管理功能,并提供节点环境检查与容量规划能力。
- 运维高效:集成监控、告警、日志、备份、诊断等服务,帮助产品快速发现问题、处理问题,为产品稳定性运行添砖加瓦。其中还内置备份、恢复、升级、容灾方案,将原本需要大费周章才能凑齐的各种运维服务变成交付流程中支撑产品运行的基础设施,省心省力。
如何过招
深入了解 ADP - Local
ADP-Local 集成了嵌入式 K8s 及多项服务于产品效率部署、稳定运行的组件。
可服务于多行业,提供丰富的产品能力、平台原子能力即嵌入式 K8s。实现其产品能够更稳定、安全、轻量、弹性、被集成、可剪裁,有效解决您的交付难题。

经过众多阿里集团核心业务场景以及不计其数的用户的复杂环境实践与验证后。
- 你可通过精心打造的 ADP-Local 提供的运维管控平台,来实现对不同环境之间兼容情况的检测,以及快速对参数自动适配,减轻您的工作负担。
- 同时 ADP-Local 整合丰富的信创架构组件, 助您轻松找到 ARM 版本组件来兼容信创环境,快速完成信创环境的适配改造工作。
- 通过 ADP-Local 可以实现分钟级集群的自动化部署、扩缩容等生命周期管理的工作,并且提供可靠的节点环境检查、集群健康检查能力。
这些能力您均可轻松的在 ADP- Local 这一自动化运维管控平台找到并使用,帮您一站式解决难题。
关于ADP-Local 的能力您有了初步的了解,同时,由于篇幅原因,且运维能力更加丰富,所以将放在下一章节对 ADP-Local 运维招式进行深度介绍。点击阅读原文,了解云原生应用交付平台 ADP 更多资讯!
看到这里,我想起我们交付铁三角通过这本秘籍解决的一个个难题,不禁陷入了回忆中。好了,那今天的故事就先讲到这里,云原生应用交付平台 ADP 与我们的故事还将继续,敬请期待。如果大家有什么疑问可在下方留言咨询~
(以上故事纯属虚构,如有雷同纯属巧合。)
往期回顾
基于 K8s 的交付难题退退退!| 独家交付秘籍(第三回)的更多相关文章
- 【K8S】基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境(环境搭建篇)
写在前面 最近在 K8S 1.18.2 版本的集群上搭建DevOps环境,期间遇到了各种坑.目前,搭建环境的过程中出现的各种坑均已被填平,特此记录,并分享给大家! 服务器规划 IP 主机名 节点 操作 ...
- 如何基于 K8S 多租能力构建 Serverless Container
当前 Kubernetes 已经成为名副其实的企业级容器编排规范,很多云平台都开始提供兼容 Kubernetes 接口的容器服务.而在多用户支持方面,多数平台选择直接提供专属虚机集群,用户需要花费大量 ...
- 基于 K8S 构建数据中心操作系统
在 12 月 22 日 ECUG 的下午场 ,七牛云容器计算部技术总监袁晓沛为大家带来了主题为<基于 K8S 的 DCOS 之路>的精彩分享,向大家介绍了七牛容器云目前 K8S 的状况和产 ...
- 基于 K8s 做应用发布的工具那么多, 阿里为啥选择灰姑娘般的 Tekton ?
作者 | 邓洪超,阿里云容器平台工程师, Kubernetes Operator 第二人,云原生应用标准交付与管理领域知名技术专家 导读:近年来,越来越多专门给 Kubernetes 做应用发布的 ...
- 基于k8s的promethus监控
没有监控 就没有眼睛. 除了k8s的基本监控外(pod运行状况.占用内存.cpu).为了对微服务项目中的(1)各种参数线程池.QPS.RT.业务指标(2)系统负载.thread.mem.class.t ...
- 中国.NET开发者峰会特别活动-基于k8s的微服务和CI/CD动手实践报名
2019.11.9 的中国.NET开发者峰会将在上海举办,到目前为止,大会的主题基本确定,这两天就会和大家会面,很多社区的同学基于对社区的信任在我们议题没有确定的情况下已经购票超过了300张,而且分享 ...
- ASP.NET Core基于K8S的微服务电商案例实践--学习笔记
摘要 一个完整的电商项目微服务的实践过程,从选型.业务设计.架构设计到开发过程管理.以及上线运维的完整过程总结与剖析. 讲师介绍 产品需求介绍 纯线上商城 线上线下一体化 跨行业 跨商业模式 从0开始 ...
- 基于k8s集群部署prometheus监控ingress nginx
目录 基于k8s集群部署prometheus监控ingress nginx 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署pro ...
- 基于k8s集群部署prometheus监控etcd
目录 基于k8s集群部署prometheus监控etcd 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署prometheus监控 ...
- 基于k8s的集群稳定架构-转载
基于k8s的集群稳定架构-转载 前言 我司的集群时刻处于崩溃的边缘,通过近三个月的掌握,发现我司的集群不稳定的原因有以下几点: 1.发版流程不稳定 2.缺少监控平台[最重要的原因] 3.缺少日志系统 ...
随机推荐
- 基于泰凌微TLSR825x的物联网解决方案之ibeacon开发总结
一 概念 iBeacon 是苹果公司2013年9月发布的移动设备用OS(iOS7)上配备的新功能.其工作方式是,配备有 低功耗蓝牙(BLE)通信功能的设备使用BLE技术向周围发送自己特有的ID,接 ...
- 记Okhttp的拦截器导致app崩溃问题
原文: 记Okhttp的拦截器导致app崩溃问题 - Stars-One的杂货小窝 app对接的后台接口,传参需要加密,获取数据需要解密,于是使用了拦截器去实现,然后发现以下问题: 即使在发起请求的那 ...
- 编译器与Makefile
编译器与Makefile 目录 编译器与Makefile gcc/g++/clang clang gcc g++ 编译器过程 Makefile 什么是Makefile Makefile规则 变量 in ...
- Asp-Net-Core开发笔记:实现动态审计日志功能
前言 最近一直在写 Go 和 Python ,好久没写 C# ,重新回来写 C# 代码时竟有一种亲切感~ 说回正题. 在当今这个数字化迅速发展的时代,每一个操作都可能对业务产生深远的影响,无论是对数据 ...
- 记录--css水滴登录界面
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 今天我们来分享一款非常有趣的登录界面,它使用HTML和CSS制作,具有动态的水波纹效果,让用户在登录时感受到了一股清凉之感. 基本h ...
- 记录--JavaScript 用简约的代码实现一些日常功能
这里给大家分享我在网上总结出来的一些JavaScript 知识,希望对大家有所帮助 一.日期处理 1. 检查日期是否有效 该方法用于检测给出的日期是否有效: const isDateValid = ( ...
- Python 变换单词顺序组成新的一句话
需求描述: 现在给出几个单词需要不断变换单词的顺序组成新的一句话 import itertools import pandas as pd # 定义项目列表 items = ['dog', 'appl ...
- Win10 如何在桌面显示我的电脑
Win10桌面右键鼠标,然后在弹出来的选项中选择个性化. 选择了个性化后会弹出设置界面,在设置中选择[主题] 找到[桌面图标设置] 点击[桌面图标设置],会弹出一个对话框,该对话框有可以设置显示的图标 ...
- Linux Mint下Qt Creator无法输入中文解决办法
注,本文所指的是linux中使用fcitx输入框架下,Qt程序输入中文的解决办法 如果是ibus输入框架,则不需要任何操作,可以直接输入中文 但是微信使用的是fcitx输入框架,且比较常用,故只能使用 ...
- vue中$forceUpdate()的使用
刷新数组的作用 this.$forceUpdate(); 具体请看:vue中$forceUpdate()的使用 - 简书 (jianshu.com)
