Spinnaker 是 Netflix 在2015年开源的一款持续交付平台,最初由 Netflix 开发,用于快速、可靠地发布软件变更。Spinnaker 使开发人员可以更轻松地专注于编写代码,而无需担心底层的云基础设施,它可以和 Jenkins 以及其他流行的构建工具无缝集成。但是由于 GFW 的原因导致在国内部署Spinnaker非常困难,当然,你可以使用代理,但这就与本文的初衷不符。经过多次尝试,终于在不使用代理的情况下安装spinnaker,废话不多说,直接进入正题。
使用docker的方式安装Halyard。
启动参数说明:/home/spinnaker/.hal目录为halyard配置文件,/home/spinnaker/.kube为k8s集群认证目录。
官网给出的镜像地址 gcr.io 在国内是不能访问的,需要将镜像地址修改为gcr.azk8s.cn。
spinnaker部署环境一共有三种:
本文使用K8S方式。
配置spinnaker配置文件
主要设置docker镜像仓库及存储,以下为配置文件示例。
本地安装spinnaker
接下来的操作尤为重要,我们采用本地安装的方式,需要将bom设置为local,安装版本1.17.6.
bom配置文件需要注意两点,版本前需要加local,镜像地址更换为国内地址!
配置完成之后,hal在deploy的时候不会去google拉取版本配置,而是从本地读取,以echo为例,本地读取目录为~/.hal/.boms/echo/echo.yml,所以我们需要将相应的yml文件下载到本地相应目录。
下载地址:https://github.com/spinnaker
以echo为例,下载文件为https://github.com/spinnaker/echo/tree/master/halconfig 内的文件,并放在本地目录~/.hal/.boms/echo下。
下载完成后目录结构如下:
完成了这些基本工作,就可以愉快的(无需代理)的部署spinnaker了。
查看spinnaker在k8s中的部署情况:
配置ingress
配置ingress访问spinnaker。
访问spinnaker
将域名做好解析之后就可以访问spinnaker了。
为了绕过GW安装spinnaker,真是煞费苦心,为了做个记录,同时分享给有需要的朋友。标题写的离线安装,不是真正的离线,意思是无需代理,但是还需要可以连接互联网下载镜像的,但是如果镜像都在本地的镜像仓库中,那就可以做到真正离线了。本文只是介绍了spinnaker的安装,并没有提及使用,个人觉得spinnaker最难的地方就是安装,使用的话,大家可以参考官方文档,已经很详细了,如果以后有需要,再补充使用的文档吧。
评论留言