
At the beginning of the year,
a new KubeSail web service appeared, created by two American Kubernetes enthusiasts who set themselves the goal of "making the advantages of Kubernetes more accessible to all developers." To achieve it, they offered a K8s cluster in the form of a managed service, within which there is a free data plan.
The authors of KubeSail, arguing that Kubernetes has already become the standard for building infrastructure, recognize the high threshold of entry, which “raises doubts as to whether the benefits of this technology will pay back [for training and start]”. In order to level this drawback, they offer an easy-to-use service, the free version of which should be “useful for studying Kubernetes or hobby projects that are not worth the cost of 140 USD / month, as in [Amazon] EKS”.
')
Current KubeSail
tariff plans are as follows:

... and prices with flexible restrictions on CPU / memory and storage promise soon.
What is better than other options?
That's what the developers themselves (and not only they)
say , answering questions from Reddit readers about the differences between their offer and what they already have.
In comparison with the local launch of Minikube:
“More than one master-node, which allows you to work with this highly available configuration. You should be able to drop one node and not suffer from non-performing functions. In minikube, I am sure that only one master is possible with many workers. ”
“... you can also run production-installations in a cluster and make them available on the Internet. This is not only a great learning experience, but also a really high-availability K8s cluster that won't turn off when the laptop lid is closed. ”
Compared to other managed Kubernetes suppliers (GKE and Digital Ocean are given as examples):
“DO is really cheaper than AWS [which is compared with EKS, see above] , but I must say that we support HA configurations at a free tariff (you can run three small pods on three nodes) and use very powerful machines with fast SSD drives and network connections, so I’m willing to bet that the pod on KubeSail will be faster than a 2-gigabyte instance in DO! Although it will be really difficult to compete with DO, so we are going to focus on training and user interface / utilities. ”
More than managed K8s
Although the service is mainly focused on developers, it can be useful for DevOps engineers. In addition to the simple web interface itself
(details about it will follow below) , the authors promise to release Kubernetes development tools and manuals that will simplify deploy and launch applications in clusters. The “first sign” here is the
deploy-to-kube utility designed to deploy Node.js applications to Kubernetes with one command (and even without the need to create a config for this — all the necessary data is requested online):

But back to the actually managed K8s cluster that KubeSail offers us.
Work with KubeSail
The web interface of the service serves the purpose of the project: it is very simple and allows you to get a cluster at your disposal in just a few clicks.
After logging in via a GitHub account, the web interface offers to get down to business right away. roll out the first deployments to the created Kubernetes cluster:

Choose for this one of the ready-made examples -
QUOTE-OF-THE-MONTH
. This is a service that gives a random quote in JSON format. Depla runs quickly (<10 seconds):

Check the result by accessing an externally accessible endpoint:
$ curl https://qotm-2d7ab6efca.kubesail.io/ { "hostname": "qotm-5d9f776595-6qfmv", "ok": true, "quote": "A small mercy is nothing at all?", "time": "2019-02-21T02:54:15Z", "version": "2.0" }
Works! And this is what the interface looks like for the deployments already deployed to the cluster:

As you can see, about each of them, you can see the basic information: resource restrictions, abandoned ports, log output (data from
kubectl logs
).
If you click on the ACCOUNT link (in the upper right corner of the interface), you can roll out an additional deployment from ready-made examples (there are only two of them now: the already mentioned quotation service and nginx) or you can pick up the ready config (
~/.kube/config
) to enable work with the cluster through the usual
kubectl
:

For completeness of the experiments, we will use this config and deploy our deployment - for example, from the
Kubernetes documentation :
$ kubectl create -f https://k8s.io/examples/controllers/nginx-deployment.yaml deployment.apps/nginx-deployment created $ kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/1 1 1 4h14m nginx-deployment 0/3 0 0 64s qotm 1/1 1 1 4h17m
Expand it turned out, but something went wrong? KubeSail interface is happy to help:

That's it - it's all about limited resources. The problem will go away if you bring the deployment, for example, to this type (see the last lines - the
resources
block):
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 resources: limits: cpu: "100m" memory: "20Mi" requests: cpu: "10m" memory: "10Mi"
... however, the artificiality of such a "correction" of this problem will quickly be felt:

Note the "1/3" in the upper right corner - it symbolizes the launch of one of the replicas. True, after that the resources again ceased to be enough ... However, I would leave such “games” beyond the experiment: its essence was still reduced to checking the interaction with the cluster through
kubectl
- and with this, as we see, everything is really in order.
The official current status of KubeSail is a beta version, and the authors are looking forward to feedback from any users of their service: developers and DevOps engineers.
Alternatives
Finally, I remind you that there are other free services for experimenting with Kubernetes and studying it online. About one of them -
Play with Kubernetes , using Docker-in-Docker (DIND) technology and offering a console in the browser - we have already
written a review .
Besides him, Katacoda created a very similar
Kubernetes Playground .
And in the
Kubernetes documentation, you can find large lists for both
local ways to install / use Kubernetes, and for
hosted solutions , the variety of which today significantly exceeds the familiar options from Amazon, Azure, Digital Ocean and Google
(by the way, KubeSail already added to this list) .
PS
Read also in our blog: