All Projects → GoogleCloudPlatform → Flink On K8s Operator

GoogleCloudPlatform / Flink On K8s Operator

Licence: apache-2.0
Kubernetes operator for managing the lifecycle of Apache Flink and Beam applications.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Flink On K8s Operator

konsumerator
Kafka Consumer Operator. Kubernetes operator to manage consumers of unbalanced kafka topics with per-partition vertical autoscaling based on Prometheus metrics
Stars: ✭ 20 (-95.17%)
Mutual labels:  kubernetes-operator
Capsule
Kubernetes Operator for multi-tenancy
Stars: ✭ 261 (-36.96%)
Mutual labels:  kubernetes-operator
Securecodebox
secureCodeBox (SCB) - continuous secure delivery out of the box
Stars: ✭ 279 (-32.61%)
Mutual labels:  kubernetes-operator
aws-iam-operator
AWS IAM Operator for Kubernetes
Stars: ✭ 23 (-94.44%)
Mutual labels:  kubernetes-operator
Learn-ServiceMesh-Workshop
Labs for Kubecon NA Workshop on Service Mesh with Cloud PKS
Stars: ✭ 13 (-96.86%)
Mutual labels:  kubernetes-operator
Schemahero
A Kubernetes operator for declarative database schema management (gitops for database schemas)
Stars: ✭ 265 (-35.99%)
Mutual labels:  kubernetes-operator
siddhi-operator
Operator allows you to run stream processing logic directly on a Kubernetes cluster
Stars: ✭ 16 (-96.14%)
Mutual labels:  kubernetes-operator
Kube Cleanup Operator
Kubernetes Operator to automatically delete completed Jobs and their Pods
Stars: ✭ 318 (-23.19%)
Mutual labels:  kubernetes-operator
Service Level Operator
Manage application's SLI and SLO's easily with the application lifecycle inside a Kubernetes cluster
Stars: ✭ 260 (-37.2%)
Mutual labels:  kubernetes-operator
Airflow Operator
Kubernetes custom controller and CRDs to managing Airflow
Stars: ✭ 278 (-32.85%)
Mutual labels:  kubernetes-operator
keenest-rube
Clojure interface to Kubernetes
Stars: ✭ 57 (-86.23%)
Mutual labels:  kubernetes-operator
port-map-operator
LoadBalancer Service type implementation for home Kubernetes clusters via Port Control Protocol.
Stars: ✭ 25 (-93.96%)
Mutual labels:  kubernetes-operator
Operator Kit
A library for creating a Kubernetes Operator
Stars: ✭ 275 (-33.57%)
Mutual labels:  kubernetes-operator
couchdb-operator
prototype kubernetes operator for couchDB
Stars: ✭ 17 (-95.89%)
Mutual labels:  kubernetes-operator
Es Operator
Kubernetes Operator for Elasticsearch
Stars: ✭ 282 (-31.88%)
Mutual labels:  kubernetes-operator
netperf-operator
Kubernetes operator to measure TCP transmission speed between 2 pods
Stars: ✭ 39 (-90.58%)
Mutual labels:  kubernetes-operator
Navigator
Managed Database-as-a-Service (DBaaS) on Kubernetes
Stars: ✭ 266 (-35.75%)
Mutual labels:  kubernetes-operator
Metering Operator
The Metering Operator is responsible for collecting metrics and other information about what's happening in a Kubernetes cluster, and providing a way to create reports on the collected data.
Stars: ✭ 320 (-22.71%)
Mutual labels:  kubernetes-operator
Kafka Operator
A Kafka Operator for Kubernetes
Stars: ✭ 302 (-27.05%)
Mutual labels:  kubernetes-operator
Kubeplus
CRD for CRDs to design multi-tenant platform services from Helm charts
Stars: ✭ 278 (-32.85%)
Mutual labels:  kubernetes-operator

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].