Remote Network And System Administration Job In IT And Networking

Support a ReadWriteMany for our application in Kubernetes in a multi-replica deployment

Find more Network And System Administration remote jobs posted recently Worldwide

Summary:

We need to use support a ReadWriteMany for our application in Kubernetes in a multi-replica deployment. Our Kubernetes environment script creates an environment that has CephFS created with Rook.

Experience Required:

Kubernetes
DevOps
1 of the following programming languages: JavaScript/NodeJs, Python, Java, or C#.
Linux Scripting

Pre-requirements:
Create 2 VM with at least 2 CPUs and 4 GB of RAM.
Install Ubuntu 18 LTS Server Image. Note: Proceed with default installation. During the installation, itll give you options to install additional stuff, you dont need to check anything else. This will need to be a two master cluster.

01 Work:
1. Create a very simple Web Application
Create a very simple web application in Python, C#, NodeJs, or Java that has the following endpoints:

POST /add?id={ id} &text={ text}
- This endpoint writes the text to a id.txt in a folder specified via an Environment Variable FolderPath.

string saveFilePath = Environment.GetVariable(FolderPath) + / + id.txt;
File.WriteText(saveFilePath, text)

2. GET /get?id={ id}
This endpoint get the text from id.txt from folder specified via an Environment Variable FolderPath.

string filePath = Environment.GetVariable(FolderPath) + / + id.txt;
File.GetText(filePath)


02: Add Web Application to Kubernetes with ReadWriteManySupport

Create a CephFilesystem resource and a Deployment (3 replica) in Kubernetes environment you set up with our script using the resource above. Expose this Service via NodePort on port 30001.

Verify: The resources are written by all 3 pods and returned by all 3 pods.


03: 3. Create Another Deployment
We want to ensure two separate deployments can read and write to the shared space.

Similar to above, create another deployment (2 replicas) with same web application. You can reuse the CephFileSystem from above.
Expose this Service via NodePort on port 30001.
Verify: The resources are written by all 2 pods and returned by all 2 pods.

Verify: Documents written in Deployment1 accessible in Deployment2 via /get.

Verify: Documents written in Deployment2 accessible in Deployment1 via /get.


Outcomes:

Demo functionality of ReadWriteMany and all the Verify above.
Must be reproduceable on our machine. Provide all resources developed (web App, scripts, YAMLs).
ReadWrite should work across deployments and nodes.


Work Expectations:
Must successfully demonstrate all outcomes and pass QA prior for payment.
Work in GIT

Price Includes:

All Meetings (available Mon-Fri at 10 AM EST if there are questions)
Work clarification meetings
Final demonstration meeting by developer (if needed)
Work
Bug fixes
Documentation
Instructions on how to reproduce.
About the recuiter
Member since Sep 13, 2017
Gregory P Benso
from Illinois, United States

Skills & Expertise Required

Node.js Java Python javascript DevOps 

Open for hiringApply before - Oct 27, 2024

Work from Anywhere

40 hrs / week

Fixed Type

Remote Job

$95.82

Cost

Offer to work on this project closes in 116 days!
Are you interested in this Opportunity?

Looking for help? Checkout our video tutorial
How to search and apply for jobs

How to apply? Do you have more questions about the Job?
See frequently asked questions

Similar Projects

flask restful API, send SMS via AWS sns service

NOTE: Make sure you know how to deal with aws sms/sns and aws login techniques with in python flask api.

We need one api with two methods will be describe it later. I will share some sample test cases and sample mysql stored procedure call s...read more

CRM Specialist, Insightly or Custom Excel CRM

I am looking for someone to help customize free version of Insightly CRM
for Real Estate and Taxes & Financial Services. This would include creating
activity sets, work-flows, pipelines, email templates.

If I cant that, I am also...read more

App for Sneaker Based Reselling

Need to gather information from resell sites in order to create data on projected and informative resell information. This will create a community that comes to the app and generates revenue based on advertisements.

d3.js chart big data

I have a d3 line chart with a maximum of 14 lines.
the full dataset of the chart is around 20millions of datapoints which i want to display.

therfore i need some solution to reduce the datapoints for visualisation in an performance and...read more