Harpoon: No Code Deployment for Kubernetes
Numerous tools have evolved over time to make Kubernetes incrementally easier, first by simplifying the provisioning process of a Kubernetes cluster, and then by creating curated playbooks of often-used open source software that can be deployed in Kubernetes clusters with the click of a button. Other single-pane of glass tools make it easier to monitor and update running clusters.
Harpoon is a tool that makes Kubernetes easier by providing a user-friendly drag-and-drop interface, making it more accessible for all levels of experience and streamlining application development and deployment. As a result, engineers are able to deploy their software, automatically set up their virtual infrastructure, and easily deploy and autoscale their Kubernetes clusters.
What’s most interesting about harpoon is its dynamic nature, automatically generating all Infrastructure as Code (IaC), Configuration as Code (CaC), and YAML necessary to manage all facets of one’s Kubernetes cluster.
Some of the main pain points of Kubernetes and how a tool like harpoon can alleviate these challenges are outlined below:
- Cluster Setup
- Enables users to link different Cloud Service Providers or Data Centers to their account and automatically provision virtual infrastructure and Kubernetes clusters through a no-code interface.
- Complex Configuration
- Abstracts away the need for specific knowledge of Kubernetes concepts and YAML syntax by providing intuitive drag-and-drop functionality and injecting environment variables into Kubernetes Pods.
- Resource Management
- Streamlines resource management by automating resource allocation and scaling based on application needs, ensuring optimal utilization without manual adjustments.
- Simplifies networking by providing built-in service mesh with a user-friendly interface for configuring services, load balancing, and ingress in Kubernetes deployments.
- Security and Access Control
- Intuitive, role-based access control (RBAC) settings and permissions with Multifactor Authentication (MFA), reducing the complexity of securing Kubernetes deployments.
- Monitoring and Logging
- Integrates with existing Kubernetes logging systems, making it easier for users to gain insights into the cluster’s health, performance, and application behavior with real-time updates.
- Scaling and Auto-scaling
- Scaling based on workload demands, optimizing resource usage
- Deployment Strategies
- Rolling updates and blue-green deployments directly connected to any Continuous Integration, Continuous Deployment (CI/CD) pipeline with intelligent automation for rolling back broken builds or deployments.
- Upgrades and Maintenance
- Automated version updates and cluster maintenance, minimizing disruptions and ensuring smooth operations
See It in Action
To demonstrate a deployment, we will deploy Ghostfolio, a web-based wealth management application to keep track of financial assets like stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions.
Deploying Ghostfolio in harpoon only requires a few easy steps. First, you can search for and drag out the Ghostfolio and Postgres images from Docker Hub. Then, simply configure the environment variables for both containers. Once that is completed, attach an ingress route to Ghostfolio to make it accessible on the internet. Finally, open the internal port on Postgres for pod-to-pod communication.
Finally, you can hit deploy and get your final Ghostfolio app, as shown below.