Shipa : A Complete developer-friendly Kubernetes
Push code, not containers
Today I will be sharing some insights into working with Shipa.
So Shipa is a platform mainly built for the developers so that they can focus more on writing code and less on the infrastructure. The main idea IMO is to make developers' life easy and making their apps run on the best in class kubernetes clusters.
One can associate the Kubernetes clusters with ships using the following guide:
Once the cluster is added it shows up in the dashboard for the shipa instance and you can have an overview of all the cluster/apps associated.
Dashboard :
Dashboard view if to view all the clusters, applications, metrics, and events for all the clusters associated with shipa at one place.
Few things to get started:
Installing the shipa CLI —
wget https://storage.googleapis.com/shipa-cli/shipa_linux_amd64chmod +x shipa_linux_amd64 && mv -v shipa_linux_amd64 /usr/local/bin/shipa
Adding Shipa Target
[root@shipa ~]# shipa target-add first http://35.185.233.31:8080 -s
New target first -> http://35.185.233.31:8080 added to target list and defined as the current target
[root@shipa ~]# shipa target-list
* first (http://35.185.233.31:8080)
[root@shipa ~]#
Shipa Login and app lists
shipa login
Email: xxxxxxxxxxxxx
Password:
Successfully logged in![root@shipa ~]# shipa app-list
Error: you're not authenticated or your session has expired.
Calling the "login" command...
Email: xxxxxxxxxxxx
Password:+---------------------------+-----------+--------------------------------------+
| Application | Units | Address |
+---------------------------+-----------+--------------------------------------+
| aks-app1 | 1 started | http://aks-app1.35.199.180.138.nip.
|
| | | io |
+---------------------------+-----------+--------------------------------------+
| dashboard | 1 started | http://dashboard.35.199.180.138.nip
|
| | | .io |
+---------------------------+-----------+--------------------------------------+
| gke-app1 | 1 started | http://gke-app1.35.199.180.138.nip.
|
| | | io |
+---------------------------+-----------+--------------------------------------+
| redis-service-service-app | 1 started | http://redis-service-service-app.35
|
| | | .199.180.138.nip.io |
+---------------------------+-----------+--------------------------------------+Successfully logged in!
Shipa teams :
shipa team-list
+--------+------------------+------+
| Team | Permissions | Tags |
+--------+------------------+------+
| admin | app | |
| | team | |
| | service | |
| | service-instance | |
| | cluster | |
| | volume | |
| | volume-plan | |
| | webhook | |
+--------+------------------+------+
| system | app | |
| | team | |
| | service | |
| | service-instance | |
| | cluster | |
| | volume | |
| | volume-plan | |
| | webhook | |
+--------+------------------+------+
Adding ssh key :
shipa key-add my-rsa-key ~/.ssh/id_rsa.pubKey "my-rsa-key" successfully added!
Creating an application :
shipa app-create demo1 python -t admin -o gke
It creates a complete developer experience wherein you get a git repository like
git@35.185.233.31:demo1.git
Now write and push the code:
git add.
git commit -m "first commit"
git push git@35.185.233.31:demo1.git mastershipe app-list => to get the endpoint for the application that is running on the cluster+---------------------------+-----------+--------------------------------------+
| test2 | 1 started | http://test2.35.199.180.138.nip.io |
+---------------------------+-----------+--------------------------------------+
It's that simple for a developer to just write the code without having to learn or create any Kubernetes related object or yaml files and push it to the repository and DONE — your code is deployed on Kubernetes.
There is a lot that can be done using Shipa and a lot that is in the pipeline.
For having shipa you can install it via :
https://github.com/shipa-corp/helm-chart
Saiyam Pathak
[CKA|CKAD|CNCF AMbassador]