Devops Project Report

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

PROJECT REPORT

(Project Term January- May 2024)

2048-Game Deployment Using Amazon Elastic


Kubernetes Services (EKS)

Submitted by:
Deepak Kumar Reg No.: 12001815

Course Code: INT 334


Couse Title: ENTERPRISE APPLICATION AUTOMATION

Submitted To:
Priyanka Gupta Id: 21789

School of Computer Science and Engineering

1
DECLARATION

I hereby declare that the project work entitled 2048-Game


deployment Using Amazon Elastic Kubernetes Services (EKS) is an
authentic record of my own work carried out as requirements of
Devops Project for the award of B.Tech degree in Computer
Science from Lovely Professional University, Phagwara, under the
guidance of Priyanka Gupta , during January to May 2023. All the
information furnished in this project report is based on my own
intensive work and is genuine.

Deepak Kumar
Date: 24th April, 2024

2
TABLE OF CONTENTS

Abstract… ............................................................................................................................ 4
Introduction ........................................................................................................................ 4-5
Components and prerequisite ............................................................................................... 6
System Requirements… ...................................................................................................... 7
Screenshots…...................................................................................................................... 8
Advantages of this project…................................................................................................ 11
Conclusion .......................................................................................................................... 12

3
Abstract
In this project, we explore the deployment of the popular 2048 game on
an Amazon Elastic Kubernetes Service (EKS) cluster. The goal is to set
up and manage the game application using Kubernetes and leverage EKS
features for scalability, reliability, and ease of management.

Introduction
Managed Control Plane: EKS takes care of managing the Kubernetes
control plane components, such as the API server, controller manager,
and etcd. AWS handles upgrades, patches, and ensures high availability
of the control plane.

Automated Updates: EKS automatically updates the Kubernetes version,


eliminating the need for manual intervention and ensuring that the cluster
stays up-to-date with the latest features and security patches.

Scalability: EKS can automatically scale the Kubernetes control plane


based on demand, ensuring the cluster remains responsive as the
workload increases.

AWS Integration: EKS seamlessly integrates with various AWS services,


such as AWS IAM for authentication and authorization, Amazon VPC
for networking, and AWS Load Balancers for service exposure.

Security and Compliance: EKS is designed to meet various security


standards and compliance requirements, providing a secure and
compliant environment for running containerized workloads.

Monitoring and Logging: EKS integrates with AWS CloudWatch for


monitoring cluster health and performance metrics, making it easier to
track and troubleshoot issues.

Ecosystem and Community: Being a managed service, EKS benefits


from continuous improvement, support, and contributions from the
broader Kubernetes community.

4
Requirements:

Before we start, we need to ensure that we have the following


components in place:

 kubectl – A command line tool for working with Kubernetes


clusters. For more information, see Installing or updating kubectl.
 eksctl – A command line tool for working with EKS clusters that
automates many individual tasks. For more information, see
Installing or updating.
 AWS CLI – A command line tool for working with AWS services,
including Amazon EKS. For more information, see Installing,
updating, and uninstalling the AWS CLI in the AWS Command
Line Interface User Guide. After installing the

5
Components and Prerequisite:

To deploy application on EKS , we need to have the following components and


prerequisites in place:

1. Create an AWS Account: Go to the AWS website, click on "Create an AWS


Account," and follow the on-screen instructions to provide your email,
password, and account details. Verify your account through email and set up
billing.
2. Access AWS Management Console: After creating your account, verify it
through email and log in to the AWS Management Console using your
credentials.
3. Set up Multi-Factor Authentication (MFA): In the IAM service, set up
MFA for added security. Choose between a virtual or hardware MFA device.
4. Create IAM Users: In the IAM service, click on "Users," then "Add user."
Enter a username, choose access types, set permissions by adding to groups
or attaching policies, and optionally set permissions boundary, tags, and
enable MFA.
5. Access Keys (for Programmatic Access): If you selected "Programmatic
access" during user creation, store the access keys securely. These keys will
be used to authenticate API requests.
6. Installing the AWS CLI: Download and install the AWS CLI on your local
machine. Instructions vary by operating system.
7. Configuring AWS CLI Credentials: Run aws configure in the terminal,
enter the access key ID and secret access key, choose a default region, and
output format for AWS CLI commands.
8. Installing kubectl: Install kubectl on your local machine. Instructions vary
by operating system.
9. Configuring kubectl for EKS: In the AWS Management Console, go to the
EKS service, select your cluster, click "Config," and follow instructions to
update your kubeconfig file. Alternatively, use the AWS CLI to update the
kubeconfig file.
10. Verify kubectl Configuration: Run kubectl get nodes to verify the
configuration and check if you can access your EKS cluster.

By ensuring that we have these components and prerequisites in place, we


can deploy an application successful on EKS.

6
System Requirements

The system requirements for using AWS CLI and kubectl are minimal.
Here are the basic requirements for each:

AWS CLI:
Operating System: Windows, macOS, Linux, or Unix
Python: AWS CLI requires Python 3.6.0 or later
Disk Space: 150 MB of available disk space
Memory: At least 256 MB of RAM
Internet Connection: Required for installation and accessing AWS
services.

kubectl:
Operating System: Windows, macOS, Linux
Disk Space: Minimal disk space required.
Memory: At least 256 MB of RAM
Internet Connection: Required for accessing the Kubernetes cluster.

Overall, both AWS CLI and kubectl have modest system requirements
and should run on most modern computers without any issues.

7
Screenshots

8
9
10
Advantages of project:

Deploying any application using Amazon Elastic Kubernetes Service


(EKS) offers several advantages and benefits:

1. Scalability: EKS allows you to easily scale your game application


based on demand. You can add or remove resources (containers)
dynamically to handle varying traffic loads.
2. High Availability: EKS provides built-in high availability features,
ensuring that your game remains accessible even if some parts of the
infrastructure fail.
3. Cost-Effective: EKS optimizes resource utilization, allowing you to
run your game efficiently and reduce costs compared to traditional
hosting solutions.
4. Security: EKS offers robust security features, including encryption,
access control, and network isolation, to protect your game and data
from unauthorized access.
11
5. Easy Deployment and Management: EKS simplifies the
deployment and management of your game application, allowing
you to focus on development rather than infrastructure management.
6. Integration with AWS Services: EKS integrates seamlessly with
other AWS services, such as Amazon RDS for database
management, Amazon S3 for storage, and Amazon CloudWatch for
monitoring, enhancing the functionality of your game.
7. Flexibility and Customization: EKS provides flexibility and
customization options, allowing you to tailor the infrastructure to
meet the specific requirements of your game.

Overall, deploying any application using Amazon EKS can provide a


reliable, scalable, and cost-effective solution for hosting your game
application.

Conclusion:
In today's fast-paced software development environment, Additionally,
using EKS simplifies the deployment process by providing built-in high
availability features and robust security measures, making it an ideal
choice for hosting the 2048 game. Deploying on EKS also allows for
seamless integration with other AWS services, enhancing the overall
functionality and performance of the game.

12

You might also like