arkitektio / arkitektio/arkitektio.github.io
Kubernetes support for Port
- Dominant language
- TypeScript
- Stars
- 7
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
**Context**:
Arkitekt's Port currently facilitates container scheduling primarily through direct Docker calls, enabling efficient application deployment on single-node systems. However, as the demand for more complex, distributed, and scalable bioimaging tasks increases, there's a growing need to extend Port's capabilities to multi-node environments. Kubernetes, a powerful and widely-adopted container orchestration platform, offers the tools and flexibility required for these tasks. Integrating Kubernetes support into Port would significantly enhance its scalability and efficiency, particularly for large-scale and high-performance computing tasks.
**Limitations**
Arkitekts container placing in larger infrastructure does not allocate to the best resources.
**Proposed Solution**
Develop Kubernetes as an additional backend for Container scheduling in Port.
1. **Kubernetes Integration:**
Introduce Kubernetes as an additional backend for Arkitekt Port, allowing users to schedule containers across multiple nodes. Ensure that Port can seamlessly switch or choose between Docker for single-node setups and Kubernetes for multi-node setups based on the user's environment and needs.
2. **Abstract Interface:**
Develop an abstract interface within Port that can interact with **both** Docker and Kubernetes. This interface should manage the deployment, management, and scaling of containers without the user needing to understand the underlying complexities of the orchestration platform. The abstract interface should maintain consistency in how users interact with Port, regardless of whether Docker or Kubernetes is managing the containers.
3. **Ease of Transition:**
Provide tools and documentation to assist users in transitioning from single-node Docker environments to multi-node Kubernetes clusters. This might include migration guides, best practices, and troubleshooting tips.
4. **Flexibility and Compatibility:**
Ensure that the integration is flexible enough to support a variety of Kubernetes environments, including self-hosted clusters, cloud-based services like Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS), and others.
** Linked Issues**
Container Flavours: #2
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating Port's current direct Docker scheduling implementation and review the linked Container Flavours issue (#2). Define how a shared interface would support Docker and Kubernetes, migration guidance, and multiple cluster environments; done means Port can schedule across Kubernetes nodes while preserving the existing Docker path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100