Charmed Spark K8s Documentation
Charmed Spark solution is a set of Canonical supported artefacts (including charms, rocks and snaps) that make operating Spark workloads on Kubernetes seamless, secure and production-ready. This solution includes the Charmed Spark bundle as well as Spark Client Snap and spark8t. For more information on the contents of the Charmed Spark bundle and Charmed Spark solution, see the Components explanation page.
Apache Spark is a free, open-source software project by the Apache Software Foundation. Users can find out more at the Spark project page.
The solution helps to simplify user interaction with Spark applications and the underlying Kubernetes cluster whilst retaining the traditional semantics and command line tooling that users already know. Operators benefit from straightforward, automated deployment of Spark components (e.g. Spark History Server) to the Kubernetes cluster, using Juju.
Deploying Spark applications to Kubernetes has several benefits over other cluster resource managers such as Apache YARN, as it greatly simplifies deployment, operation, authentication while allowing for flexibility and scaling. However, it requires knowledge on Kubernetes, networking and coordination between the different components of the Spark ecosystem in order to provide a scalable, secure and production-ready environment. As a consequence, this can significantly increase complexity for the end user and administrators, as a number of parameters need to be configured and prerequisites must be met for the application to deploy correctly or for using the Spark CLI interface (e.g. pyspark and spark-shell).
Charmed Spark helps to address these usability concerns and provides a consistent management interface for operations engineers and cluster administrators who need to manage enablers like Spark History Server.
Project and community
Charmed Spark is a distribution of Apache Spark. It’s an open-source project that welcomes community contributions, suggestions, fixes and constructive feedback.