Flink Kubernetes CD Framework

Overview

Continuous deployment is a strategy for software releases wherein any code commit that passes the automated testing phase is automatically released into the production environment, making changes that are visible to the software’s users.

from techtarget


image

A diagram about how to deploy a flink application while codes change

  • easy to track, everything is git, no cron-job
  • easy to scala-up
  • easy to manage

Module

简介CI到CD的k8s套件

gitlab runner

负责CI和发布jar/image/chart到相应repo

helm

k8s的应用包管理(define, install, upgrade)

负责kubernetes应用的包管理1, 类似apt、yum、homebrew工具

image

from ref.1

spinnaker

集群管理和部署

创建pipeline, 将应用image运行部署到k8s集群上

image

from dzone

image

from google cloud

image

from ref.2

install

  1. minikube cluster/kubectl
  2. helm
  3. spinnaker

Reference

  1. Helm介绍 - 强大的Kubernetes包管理工具
  2. 使用Spinnaker自动化部署代码到Kubernetes示例
  3. Get Started with Spinnaker on Kubernetes