AVAILABILITY OF STATELESS WORKLOAD ON KUBERNETES ON GOOGLE CLOUD PLATFORM WITH PREEMPTIBLE NODES
Nowadays, containers are one of the most common ways to deploy applications, especially in a microservice architecture. However, managing a lot of containers is not an easy task. Container orchestrator like Kubernetes is designed to help in managing containers. To make the...
Saved in:
Main Author: | |
---|---|
Format: | Final Project |
Language: | Indonesia |
Online Access: | https://digilib.itb.ac.id/gdl/view/55857 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Institut Teknologi Bandung |
Language: | Indonesia |
id |
id-itb.:55857 |
---|---|
spelling |
id-itb.:558572021-06-19T18:11:30ZAVAILABILITY OF STATELESS WORKLOAD ON KUBERNETES ON GOOGLE CLOUD PLATFORM WITH PREEMPTIBLE NODES Christo Randiny, Joshua Indonesia Final Project availability, preemptible node, Kubernetes INSTITUT TEKNOLOGI BANDUNG https://digilib.itb.ac.id/gdl/view/55857 Nowadays, containers are one of the most common ways to deploy applications, especially in a microservice architecture. However, managing a lot of containers is not an easy task. Container orchestrator like Kubernetes is designed to help in managing containers. To make the maintenance and setup of Kubernetes easy, many cloud providers provide managed Kubernetes services such as Google Kubernetes Engine by Google. One of the ways Google helps in saving cost is by providing the options for using preemptible virtual machines. Preemptible virtual machines can be used as the node for Kubernetes resulting in preemptible nodes. Preemptible nodes are much cheaper than regular nodes. However, it comes with some drawbacks that can affect the availability of workload running in the cluster if not handled properly. This paper will implement two methods to help improve the availability of the cluster. The methods are graceful shutdown and node scheduling. Graceful shutdown helps increase availability by making sure traffic is not directed to pods that are about to be shutdown using centrally controlled readiness probes. Node scheduling helps to increase availability by reducing the chances of multiple nodes shutdown at the same time. Node scheduling works by proactively shutting down nodes randomly before 24 hours have passed since the node creation. From testing results, the system created has successfully reduced failed requests by up to 65%. Testing also shows that node scheduling reduces availability by a small amount on normal conditions. However, the tradeoff is needed to reduce the chances of catastrophic failure when many nodes are shut down at the same time. text |
institution |
Institut Teknologi Bandung |
building |
Institut Teknologi Bandung Library |
continent |
Asia |
country |
Indonesia Indonesia |
content_provider |
Institut Teknologi Bandung |
collection |
Digital ITB |
language |
Indonesia |
description |
Nowadays, containers are one of the most common ways to deploy applications, especially in a microservice architecture. However, managing a lot of containers is not an easy task. Container orchestrator like Kubernetes is designed to help in managing containers. To make the maintenance and setup of Kubernetes easy, many cloud providers provide managed Kubernetes services such as Google Kubernetes Engine by Google. One of the ways Google helps in saving cost is by providing the options for using preemptible virtual machines. Preemptible virtual machines can be used as the node for Kubernetes resulting in preemptible nodes. Preemptible nodes are much cheaper than regular nodes. However, it comes with some drawbacks that can affect the availability of workload running in the cluster if not handled properly. This paper will implement two methods to help improve the availability of the cluster. The methods are graceful shutdown and node scheduling. Graceful shutdown helps increase availability by making sure traffic is not directed to pods that are about to be shutdown using centrally controlled readiness probes. Node scheduling helps to increase availability by reducing the chances of multiple nodes shutdown at the same time. Node scheduling works by proactively shutting down nodes randomly before 24 hours have passed since the node creation. From testing results, the system created has successfully reduced failed requests by up to 65%. Testing also shows that node scheduling reduces availability by a small amount on normal conditions. However, the tradeoff is needed to reduce the chances of catastrophic failure when many nodes are shut down at the same time. |
format |
Final Project |
author |
Christo Randiny, Joshua |
spellingShingle |
Christo Randiny, Joshua AVAILABILITY OF STATELESS WORKLOAD ON KUBERNETES ON GOOGLE CLOUD PLATFORM WITH PREEMPTIBLE NODES |
author_facet |
Christo Randiny, Joshua |
author_sort |
Christo Randiny, Joshua |
title |
AVAILABILITY OF STATELESS WORKLOAD ON KUBERNETES ON GOOGLE CLOUD PLATFORM WITH PREEMPTIBLE NODES |
title_short |
AVAILABILITY OF STATELESS WORKLOAD ON KUBERNETES ON GOOGLE CLOUD PLATFORM WITH PREEMPTIBLE NODES |
title_full |
AVAILABILITY OF STATELESS WORKLOAD ON KUBERNETES ON GOOGLE CLOUD PLATFORM WITH PREEMPTIBLE NODES |
title_fullStr |
AVAILABILITY OF STATELESS WORKLOAD ON KUBERNETES ON GOOGLE CLOUD PLATFORM WITH PREEMPTIBLE NODES |
title_full_unstemmed |
AVAILABILITY OF STATELESS WORKLOAD ON KUBERNETES ON GOOGLE CLOUD PLATFORM WITH PREEMPTIBLE NODES |
title_sort |
availability of stateless workload on kubernetes on google cloud platform with preemptible nodes |
url |
https://digilib.itb.ac.id/gdl/view/55857 |
_version_ |
1822930022845906944 |