Deploying a Multi-Cloud Kubernetes environment FAQ
Captured source
source ↗Deploying a Multi-Cloud Kubernetes environment FAQ Deploy • Emmanuelle Demompion • 19/04/22 • 1 min read
Kubernetes offers many features dedicated to scalability to simplify infrastructure management for companies of any size. Those features present the expected, straightforward behaviors when used in a single-cloud Kubernetes cluster, but one question remains: how will they react when a single Kubernetes cluster regroups servers from multiple cloud providers?
Working in a multi-cloud environment presents multiple perks in terms of redundancy, reliability, and customer coverage. However, it also raises questions that we will address here about the particularity of the management and the implementation of Multi-Cloud.
How are Horizontal Node Auto-Scaling (HNA) and Auto-Healing managed?
As of today ( october 2021 ), HNA and Auto-Healing are not covered by Kubernetes Kosmos for external servers. However, they are available for managed Scaleway node pools in any Availability Zone, regardless of the region of the Kubernetes Kosmos Control-Plane.
How can traffic be load-balanced between multiple Cloud providers?
Scaleway's Kubernetes Kosmos is fully integrated within the Scaleway ecosystem, which means that it benefits from the conversion of a Kubernetes service of type LoadBalancer into a Scaleway Multi-Cloud Load Balancer
How can persistent volumes be managed in a Multi-Cloud Kubernetes cluster?
Persistent Volumes are created through the Container Storage Interface (CSI) of each cloud provider. In a Kubernetes Kosmos cluster, Scaleway's CSI is only deployed on the cluster's managed Scaleway Instances. Nonetheless, almost every Cloud provider's CSI is open-sourced and can be deployed on the corresponding nodes to benefit from Persistent Volumes from any cloud provider, within the same cluster.
How is communication managed between the nodes of a Kubernetes Kosmos cluster?
By design, it is not possible to have a private network regrouping servers from different cloud providers, but it is possible to have them communicate with each other.
Kubernetes Kosmos uses Kilo , a Container Network Interface (CNI) based on Wireguard, managing a Virtual Private Network (VPN).
Can the CNI be changed in a Kubernetes Kosmos cluster?
Kilo - the CNI used by Kubernetes Kosmos - is the solution allowing a multi-cloud Kubernetes. Indeed, if we were to change the CNI, every unmanaged node would become unreachable from the API-Server of the cluster Control-Plane. Furthermore, the cluster would be highly impacted and mostly unavailable.
How can application workloads be distributed between Cloud providers across a Kubernetes Kosmos cluster?
Kubernetes has configuration options designed specifically for this kind of use case, such as selectors , taints , and tolerations .
How does a Multi-Cloud environment impact the services availability and latency?
Choosing between High Availability and Low Latency needs to be taken into account, whether we are working in a Multi-Cloud environment or not. On a Kubernetes Kosmos cluster, pods will be scheduled by default on the nodes with the least latency from the cluster's Control-Plane.
Does Multi-Cloud make infrastructure management more complicated?
Of course, managing multiple cloud providers’ accounts and credentials is more restrictive than keeping a single provider. However, studies have shown that over 80% of IT companies already use multiple cloud providers. That way, they can benefit from a larger range of services.
Which type of Instance to deploy?
If you are looking for the proper ally to deploy your project on, you might want to look into our range of Virtual Instances . We divided in four main categories to help you navigate among all the different specificities of each machines.
Development
The Instances from the Development range are perfect for small workloads and simple, lightweight applications. They are built to host small internal applications, staging environments, or low-traffic web servers.
General Purpose
The General Purpose range balances compute, memory, and networking resources. They can be used for a wide range of workloads - scaling a development and testing environment, but also Content Management Systems (CMS) or microservices. They're also a good default choice if you need help determining which instance type is best for your application. Choose how your Instances are provisioned, with shared and dedicated resources.
Compute Optimized
The Compute Optimized range includes the highest consistent performance per core to support real-time applications. In addition, their computing power makes them generally more robust for compute-intensive workloads.
Memory Optimized
The Memory Optimized range provides a higher RAM to vCPU ratio than other virtual machines, making them ideal for analytics, databases, scientific workloads, and data platforms.
Recommended articles
Multi-Cloud Kubernetes best practices Using Kubernetes in a Multi-Cloud environment can be challenging and requires the implementation of best practices. Learn a few good practices to implement a concrete multi-cloud strategy.
Deploy • Emmanuelle Demompion • 21/07/22 • 6 min read
Tags list. Click to filter. Search by tag Multi-cloud Search by tag Best practices Search by tag Kubernetes Search by tag Multi-Cloud
Kubernetes Kosmos: A Multi-Cloud solution for containers orchestration Learn more to implement a multi-cloud strategy on Kubernetes. All Cloud market players agree on the global definition of Multi-Cloud: using multiple public Cloud providers.
Build • Emmanuelle Demompion • 02/08/21 • 2 min read
Tags list. Click to filter. Search by tag Kubernetes Search by tag Multi-cloud
K8s Application Library: deploying third parties has never been so easy To simplify Kubernetes usage even more, we are now releasing the Application Library as part of the Easy Deploy feature on Scaleway's managed Kubernetes: Kapsule.
Deploy • Emmanuelle Demompion • 11/05/22 • 3 min read
Tags list. Click to filter. Search by tag Kubernetes Search by tag Kapsule Search by tag Discover