Skip to content

vmeta42/metaedge

Repository files navigation

image

image image image image

Apache Flink On KubeEdge

This is an flink k8s operator which support kubeedge.
Kubernetes Operator for Apache Flink is a control plane for running Apache Flink on Kubeedge.

Project Status

Beta

The operator is under active development, backward compatibility of the APIs is not guaranteed for beta releases.

Prerequisites

  • Version >= 1.15 of Kubernetes
  • Version >= 1.15 of kubectl (with kustomize)
  • Version >= 1.7 of Apache Flink

Overview

The Kubernetes Operator for Apache Flink extends the vocabulary (e.g., Pod, Service, etc) of the Kubernetes language with custom resource definition FlinkCluster and runs a controller Pod to keep watching the custom resources. Once a FlinkCluster custom resource is created and detected by the controller, the controller creates the underlying Kubernetes resources (e.g., JobManager Pod) based on the spec of the custom resource. With the operator installed in a cluster, users can then talk to the cluster through the Kubernetes API and Flink custom resources to manage their Flink clusters and jobs.

Features

  • Support for both Flink job cluster and session cluster depending on whether a job spec is provided
  • Custom Flink images
  • Flink and Hadoop configs and container environment variables
  • Init containers and sidecar containers
  • Remote job jar
  • Configurable namespace to run the operator in
  • Configurable namespace to watch custom resources in
  • Configurable access scope for JobManager service
  • Taking savepoints periodically
  • Taking savepoints on demand
  • Restarting failed job from the latest savepoint automatically
  • Cancelling job with savepoint
  • Cleanup policy on job success and failure
  • Updating cluster or job
  • Batch scheduling for JobManager and TaskManager Pods
  • GCP integration (service account, GCS connector, networking)
  • Support for Beam Python jobs

Installation

The operator is still under active development, there is no Helm chart available yet. You can follow either

  • User Guide to deploy a released operator image on gcr.io/flink-operator to your Kubernetes cluster or
  • Developer Guide to build an operator image first then deploy it to the cluster.

Documentation

Quickstart guides

API

How to

Tech talks

  • CNCF Webinar: Apache Flink on Kubernetes Operator

Contributing

Please check CONTRIBUTING.md and the Developer Guide out.

Build

 make build
 docker build -t xiaolin8/flink-operator:0.1.6 .

Build olm images

 docker build . -t xiaolin8/flink-operator-bundle:0.1.6
 docker push xiaolin8/flink-operator-bundle:0.1.6

 opm --skip-tls index add --bundles xiaolin8/flink-operator-bundle:0.1.6 --tag xiaolin8/daas-flink-registry:0.1.6 -c="docker"

CatalogSource

apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  labels:
    source-ns: system-tce
  name: daas-registry-flink
  namespace: operator-hub
spec:
  displayName: built-in flink registry
  icon:
    base64data: ""
    mediatype: ""
  image: xiaolin8/daas-flink-registry:0.1.6
  publisher: system admin
  sourceType: grpc

Releases

No releases published

Packages

No packages published

Languages