Giter Club home page Giter Club logo

flink-on-k8s-operator's Introduction

Kubernetes Operator for Apache Flink

This is not an officially supported Google product.

Kubernetes Operator for Apache Flink is a control plane for running Apache Flink on Kubernetes.

Community

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 (video, slides)

Contributing

Please check CONTRIBUTING.md and the Developer Guide out.

flink-on-k8s-operator's People

Contributors

functicons avatar hongyegong avatar elanv avatar mrart avatar hgonggg avatar deliangfan avatar jeffwan avatar laughingman7743 avatar shashken avatar kinderyj avatar yaron-idan avatar jaredstehler avatar bnu0 avatar thebalu avatar ayush-singhal28 avatar yalctay93 avatar nicladas avatar guruprasatht avatar hzxuzhonghu avatar syucream avatar ryanmwright avatar rpadovani avatar renecouto avatar mdolinin avatar irvifa avatar yanghui16355 avatar enriquel8 avatar chrismoos avatar chethanuk avatar blampe avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.