Spinnaker
文章平均质量分 77
牛麦康纳
主攻运维安全基础平台架构设计与落地
展开
-
「芒果TV」叶静涛:芒果TV的Spinnaker多云持续交付实践
亚太内容分发大会暨CDN峰会一直致力于推动CDN产业深度融合发展和市场普及,现已成为亚太地区影响力最大的内容分发网络盛会。十年来,在以阿里云、网宿科技、腾讯云等亚太CDN产业联盟成员孜孜不辍的努力下,CDN产业已经成为基础性设施网络,以坚定的基石之姿,支撑起中国成为世界最大的互联网市场。随着全球数字化、“一带一路”战略的推进,亚太内容分大会暨CDN峰会的影响力正在逐渐向全球延伸,同时也将中国智造CDN及产业链推广向全球每一个角落。在6月10日上午举办的【内容出海论坛】上,芒果TV运维研发负责人转载 2021-06-22 14:49:00 · 513 阅读 · 0 评论 -
Spinnaker微服务如何自建
Spinnaker采用了微服务体系,而对于整套微服务体系的搭建官方是推荐采用halyard来搭建的。Halyard对于spinnaker的黑盒使用者比较友好,把对spinnaker的安装、部署、配置、管理等都封装成命令(其实命令也是够复杂的),但对于具有研发基础或者说对于spinnaker比较了解的人来说这种方式有点本末倒置了,本篇在原理上介绍下如何绕过halyard自己搭建spinnaker的微服务。从原理上来讲spinnaker分为“软件包启动”和“源码启动”,从运行环境来讲spinnaker部原创 2021-06-03 19:47:32 · 451 阅读 · 0 评论 -
一次因阿里云API引发的Spinnaker故障
这是个真实的事故:2021/02/22 节后第一个星期一中午的准午餐时间,节后综合症导致的吊儿郎当的神经还未绷紧,突然办公室内全面报警,很多服务都出现或多或少的异常,大家不约而同地说“我去,我的服务里阿里云的机器没有了”!!。我的直觉告诉我这种批量操作不可能是误删,应该是程序或脚本引起的,赶紧联系阿里云审计日志中查下操作账号和源IP。结果是spinnaker账号在公司内网发起的请求。因为spinnaker的版本最近没有变动过,所以我第一反应没有怀疑spinnaker而是怀疑鉴权泄露了,立马修改了AP原创 2021-03-02 20:02:30 · 499 阅读 · 0 评论 -
Spinnaker的Clouddriver如何支持Istio
目录实现思路需要扩展的类型核心代码KubernetesApiGroupKubernetesKindKubernetesKindPropertiesKubernetesHandler效果图:deploypatch更复杂的类型Spinnaker的clouddriver对kubernetes支持本质是将UI入参转化到代码最终转换成本地kuber命令来实现的,因为其是通过“白名单”的策略来实现的,所以对k8s的支持比较有限,不在白名单内的资源类型是无法被spinna.原创 2021-01-22 19:30:17 · 481 阅读 · 0 评论 -
是否把鸡蛋放在一个篮子里——多云or单云的思考
目录前言:主题:多云不是银弹优劣分析:高可用方面:成本方面:易用性方面:功能方面:企业战略方面:总结:前言: 本人一直专注于多云架构的研究,经常与云原厂人员进行沟通,对单云和多云有一些感触,在这里与大家分享下。主题:多云不是银弹 多云在很多方面有单云不具备的优点,所以大约1年前我还一直以为自己坚持的多云持续交付才是最先进最正确的,但是随着云厂商功能的迭代和公司云架构的不断演化,渐渐发现了多云平台的不足。现在不得不重新审视多云与单云孰优孰劣。优...原创 2020-05-09 18:17:16 · 522 阅读 · 0 评论 -
Spinnaker第十节—如何开发一个新环节
前面几篇比较枯燥的介绍了orca、clouddriver、deck目录结构和核心代码,本篇将会作为这一系列的终篇为大家分享下如何在spinnaker中开发一个自定义的环节。需求背景:Spinnaker对于镜像自带了FindImageByTags环节,可以让我们在pipeline中通过tag为条件选中想要发布的镜像,流转到后续的deploy环节。但是腾讯云镜像不支持tag功能,所以为了达到同...原创 2020-03-13 14:59:57 · 575 阅读 · 0 评论 -
Spinnaker第九节—CloudDriver代码详解
CloudDriver遵循NetflixSpinnaker家族标准的代码目录结构:Clouddriver-web是主入口和公共controller,clouddriver-core是抽象和默认实现,clouddriver-XXX是云厂商自定义实现。clouddriver-web:关于这个入口子项目,我们只需要搞清楚一点,clouddriver是如何将各家云厂商的子项目进行拆分管理...原创 2020-03-13 14:49:20 · 2389 阅读 · 8 评论 -
Spinnaker第八节—Deck代码详解
前沿 说实话作为一个后端语言的工程师来说,Spinnaker的Deck代码是我研究起来最费劲的,因为Spinnaker的UI设计并没有采用antd之类的前端脚手架,而是纯靠angular+typescript+html一点点写出来的,不仅需要有这些js语言的基础,还要找到项目内代码之间的引用关系,对于js项目来说引用关系确实需要花时间一点点的去review代码。不过经过努力最终还是啃下了,越...原创 2020-02-23 21:19:37 · 1003 阅读 · 0 评论 -
Spinnaker第七节—Orca代码详解
这个春节假期由于新冠弄得一直在家憋着,闲得无事把spinnaker代码翻出来把每个微服务重新review一遍,做了一些笔记,今天拿来分享一下,后续如果有spinnaker开发或者bug修复可以直接有的放矢。计划先把核心的几个微服务分几期慢慢介绍下:orca、clouddriver、deck,今天先介绍orca。Orca名词解释 Orchestration 与pipe...原创 2020-02-10 12:16:55 · 2466 阅读 · 0 评论 -
Spinnaker终极形态-Spinnaker On Spinnaker
实践是推广一个产品或技术的最好的方式,特别在IT行业让产品管理产品本事,就是一种很好的推广方式,例如Docker in Docker、k8s in k8s,这些已经被大家普遍接受。所以我觉得spinnaker要想很好的推广开来,也需要类似的应用方案,我把它称为Spinnaker On Spinnaker。架构图如下:最上面部分是主spinnaker,或者叫master spinn...原创 2020-01-01 00:01:00 · 1361 阅读 · 0 评论 -
Spinnaker第六节-开发和使用细节
今年在原版spinnaker的基础上我们和云平台厂商合作支持了阿里云和腾讯云,俗话说“是骡子是马拉出来遛遛“,今年的跨年晚会弹性部分将完全交给spinnaker来处理。现在是圣诞夜,我和小伙伴们还在spinnaker平台上加班做容灾和扩容,希望一周后的”多云多活极致弹性“能给2019年画上完美的句号。以下是云平台在实现spinnaker时遇到的一些问题,同时也是自动化持续部署需要注意的共...原创 2019-12-27 14:40:05 · 869 阅读 · 0 评论 -
Spinnaker第五节-金丝雀分析
目录核心思想:金丝雀分析的意义:三大分区:载体区:监控区:Spinnaker区:载体区的原理图:监控区的原理图Spinnaker区的原理图:三大区总体图:思考题:Spinnaker的金丝雀分析并不是Spinnaker通过代码独立完成的,它只是提供了一个概念,借助部署策略和监控工具来实现的。核心思想:基于生产环境的镜像和测试版本的镜像各开一...原创 2019-11-26 18:45:32 · 2423 阅读 · 0 评论 -
Spinnaker产品说明
目录1 产品简介2 架构设计2.1 生命周期2.2 功能架构2.3 发布流程2.4 微服务技术架构3 Spinnaker的优势3.1 支持多云3.2 多种发布策略3.2.1 无策略3.2.2 Highlander3.2.3 Red/Black:3.3 金丝雀分析3.4灵活控制3.5无缝集成现有工具5 操作文档...原创 2019-10-07 21:31:09 · 4026 阅读 · 0 评论 -
Spinnaker第四节-对接k8s
前一篇我们介绍了Spinnaker是如何对接和管理实例云的,本篇我们将介绍Spinnaker如何对接k8sSpinnaker在对接实例云时已经为我们做过很好的铺垫,让我们接触到Immutable的发布方式,并体验到随之而来的好处。K8s将Immutable发挥到极致,将版本的创建与销毁由分钟级提高到秒级。Spinnaker管理K8S的前世今生Spinnaker曾经按照管理实例的方...原创 2019-08-22 15:53:36 · 3576 阅读 · 2 评论 -
Spinnaker第三节-对接云实例
目录前言:Infrastructure与实例云对应关系Spinnaker的Bake阶段Spinnaker的金丝雀分析持续集成全流程设计:部署策略云平台差异性注意事项:1 伸缩规则的继承2 线上服务不可中断3 按量计费常见问题:1 实例创建后状态不能up2 spinnaker对接AWS后无法正常启动3 spinnaker对接国内云平台...原创 2019-08-13 23:45:03 · 1331 阅读 · 0 评论 -
Spinnaker第二节-微服务设计
本篇详细介绍一个spinnaker项目的微服务设计,这里之所以叫微服务设计,而不是叫微服务架构,是因为spinnaker是由Netflix和Google多个开源产品搭建的微服务节点组合成的一个微服务组群,里面掺杂了Go、Groovy、Node.js各种语言,并没有采用流行的Spring Cloud这样的架构我们理解的传统的微服务架构包括以下部分:我们先不说具体的细节,我们可以看得...原创 2019-06-25 17:17:20 · 1436 阅读 · 3 评论 -
腾讯全球数字生态大会--散记
很荣幸做为战略合作伙伴受邀参加了腾讯在昆明举办的全球数字生态大会,为期三天的大会紧张而充实,关于大会的报道各大媒体都有官方文稿在总结和宣传,这里就以我自己的视角来回顾下大会的几个议题,浅谈自己的想法,就当是自己留一个笔记吧。主题:互联网下半场开战,风来了对于这个主题的理解,按字面意思拆成三部分。第一,互联网的推进和发展还未结束,虽然人口红利已开发殆尽,部分互联网企业相继传出负面的新...原创 2019-05-26 19:58:35 · 1988 阅读 · 1 评论 -
Spinnaker第一节-What、Why、How
前言我们公司一直在寻找一种自动化持续交付方案,自己也走过弯路造过一些玩具轮子,直到有一天我的老板发给我们一个spinnaker的链接,才让我认识了这个国外开源产品,打开了一扇窗,看到了更精彩的世界。不知不觉已经参与spinnaker的研究和实践快一年了,早就有想法在博客中做一个spinnaker的专题来将这个强大的工具与大家分享下,无奈spinnaker有上百万的代码量,涉及到的知识点又比...原创 2019-04-30 19:38:16 · 1972 阅读 · 5 评论