Greetings, Devs() 👋 If you're weary of utilizing the 'kubectl' command, why not explore an alternative approach to handling your 'Kubernetes' applications? Give 'K8s Control Panel' a try! It's an application built using the 'Kubernetes + Streamlit Framework' of the Python programming language.Fun Fact : - The name "Kubernetes" originates from Greek, meaning "helmsman" or "pilot." It is an apt metaphor as Kubernetes acts as the orchestrator or captain of containerized applications, steering and managing their deployment, scaling, and operations in a distributed system.
-
Dependency Installations
- Make an virtual enviorment and install all the necessary components to run the 'Application'
virtualenv venv
- Activate your virtual enviorment
- For MacOS: source venv/bin/activate - For Windows: venv\Scripts\activate.bat
- Install all the necessary ingredients from
requirements.txt
file:
pip3 install -r requirements.txt
To Learn More About
virtualenv
: Click Here
-
Generation and Integration of 'KubeConfig' File
Expand me 👇, For the steps to create your own 'kubeconfig'
-
For Elastic Kubernetes Service (EKS) of Amazon Web Services (AWS)
-
Install the
AWS CLI
if you haven't already and Configure your AWS credentials using:aws configure
- Install the AWS IAM Authenticator if you haven't already
-
Generate the kubeconfig file using:
aws eks update-kubeconfig --name 'cluster_name' --region 'region_name'
command
-
Install the
-
For Google Cloud Platform (GCP)
-
Install the
Google Cloud SDK (gcloud)
if you haven't already and Log in to GCP using thegcloud auth login
command -
Set the desired project if you have multiple projects:
gcloud config set project 'project_id'
-
Generate the kubeconfig file using
gcloud container clusters get-credentials 'cluster_name' --zone 'zone_name'
command
-
Install the
-
For Microsoft Azure:
-
Install the
Azure CLI
if you haven't already and Log in to Azure usingaz login
command -
Set the desired subscription if you have multiple subscriptions:
az account set --subscription 'subscription_id'
-
Generate the kubeconfig file using
az aks get-credentials --resource-group 'resource_group_name' --name 'cluster_name'
command
-
Install the
Note: - Make sure you have the necessary permissions and access to the respective cloud providers before generating the 'kubeconfig' files. Replace 'resource_group_name', 'cluster_name', 'subscription_id', 'project_id', 'zone_name', and 'region_name' with the appropriate values for your environment
Got my 'KubeConfig' what next 🤔?
-
Get your 'kubeconfig' file and replace it with explanatory 'k8sconfig.txt' at
config\k8sconfig.txt
Note: Please avoid using the 'k8sconfig.txt' file mentioned in the source code as it was merely an illustrative file provided for reference. Also, kindly adhere to the prescribed naming convention for the filest
-
For Elastic Kubernetes Service (EKS) of Amazon Web Services (AWS)
-
Setting up a user and generating a
password(****)
-
Open
config\config.json
file and setdecrypted_password_jay_user: password_of_your_choice
andpassword_hashing_flag: True
to generate new encrypted password
- You can changedecrypted_password_jay_user
variable with your choice of variable to but don't forget to replace the variable inmain_application.py
file 😄
-
Run Main Application to generated
hashed_password
by runningpython3 -m streamlit run main_application.py
- This command will boot up an application, but still you won't be able to access it because we need proper 'Authenticated Credentials'
- After booting up an applicationhashed_password
will be logged into yourterminal
-
Copy the
hashed_password
generated from above step and paste it ofpassword
variable intoconfig\credential.yaml
and don't forget to enter yourname
andemail
too. -
Now, after setting up all the credentials. Make
password_hashing_flag: False
inconfig\config.json
file because we have to generate password one time only
- After completion of all the steps mentioned above. You're ready to launch your application 🚀. To launch your application run the command mentioned below captain 👨
✈️ :
python3 -m streamlit run main_application.py
- Choose any open issue from here.
- Comment on the Issue:
Can I work on this?
and Start Exploring it. - Make changes to your Fork and Send a PR.
For Creating Valid PR Successfully. Kindly follow Guide: https://help.github.com/articles/creating-a-pull-request/
Otherwise your PR will be Closed:
- For Appropriate PR, follow Title Format:
Fixes #IssueNo : Name of the Issue
For any Doubts related to the Issues, such as understanding Issue better etc., Comment Down your Queries on the Respective Issue.