K8S(16)集成实战-使用spinnaker进行自动化部署
K8s集成实战-使用spinnaker进行自动化部署 1 spinnaker概述和选型 1.1 概述 1.1.1 主要功能 Spinnaker是一个开源的多云持续交付平台,提供快速、可靠、稳定的软件变更服务。主要包含两类功能:集群管理和部署管理 1.1.2 集群管理 集群管理主要用于管理云资源,Spinnaker所说的”云“可以理解成AWS,即主要是laaS的资源,比如OpenStak,Google云,微软云等,后来还支持了容器与Kubernetes,但是管理方式还是按照管理基础设施的模式来设计的。 1.1.3 部署管理 管理部署流程是Spinnaker的核心功能,使用minio作为持久化层,同时对接jenkins流水线创建的镜像,部署到Kubernetes集群中去,让服务真正运行起来。 1.1.4 逻辑架构图 Spinnaker自己就是Spinnake一个微服务,由若干组件组成,整套逻辑架构图如下: Deck是基于浏览器的UI。 Gate是API网关。 Spinnaker UI和所有api调用程序都通过Gate与Spinnaker进行通信。 Clouddriver负责管理云平台,并为所有部署的资源编制索引/缓存。 Front50用于管理数据持久化,用于保存应用程序,管道,项目和通知的元数据。 Igor用于通过Jenkins和Travis CI等系统中的持续集成作业来触发管道