Tag Archives: Cluster

eksctl – How to Create and Manage AWS EKS clusters

A review of eksctl and step by step guide how to create and manage AWS Elastic Kubernetes Service (EKS) clusters.

Continue reading

Copilot – What AWS ECS and Fargate Container Management Should Have Been All Along

The setup of a development environment tends to be complicated, time-consuming, and expensive.

Gitpod changes the way we think about development environments. It gives us an IDE to write code, all the tools we need to compile our applications, run tests, and do whatever else we might be doing. It gives us the infrastructure we need. It allows us to onboard anyone into any project instantly.

Continue reading

Advertisement

Environments Based On Pull Requests (PRs): Using Argo CD To Apply GitOps Principles On Previews

Release frequency keeps increasing and, with it, the need to get away from static environments like staging, integration, and other permanent setups. Dynamic environments based on pull requests are probably the best example of a need for a much higher level of dynamism. Kubernetes allows us to easily create whatever we need, and destroy what is not in use. There is no need for anything, especially not environments to be permanent, except for production. We can get far in that direction by combining GitOps practices and Argo CD in a way that each pull request (PR) creates a new environment that is destroyed when a PR is closed. By doing that, we can improve efficiency while, at the same time, reducing the costs.

Continue reading

Kubevious: Kubernetes Dashboard That Isn’t A Waste Of Time

After many failed attempts to find a Kubernetes dashboard that is actually useful (even a little bit), I finally stumbled upon Kubevious. There is finally a Kubernetes UI I can recommend.

Continue reading

Argo CD: Applying GitOps Principles To Manage Production Environment In Kubernetes

Argo CD is a declarative GitOps deployment tool for Kubernetes.

It is one of the best, if not the best tool we have today to deploy applications inside Kubernetes clusters. It is based on GitOps principles, and it is a perfect fit to be a part of continuous delivery pipelines. It provides all the building blocks we might need if we would like to adopt GitOps principles for deployments and inject them inside the process of application lifecycle management.

Argo CD is a tool that helps us forget the existence of kubectl apply, helm install, and similar commands. It is a mechanism that allows us to focus on defining the desired state of our environments and pushing definitions to Git. It is up to Argo CD to figure out how to converge our desires into reality.

Continue reading

Kubernetes Resource Management Compared To Docker Swarm Equivalent

This article is part of the series that compare Kubernetes and Docker Swarm features.

Resource management can be divided into a few categories. We need to define how much memory and CPU we except a container will use and what are the limits. This information is crucial for a scheduler to make “intelligent” decisions when calculating where to place containers. In this aspect, there is no essential difference between Kubernetes and Docker Swarm. Both are using requested resources to decide where to deploy containers and limits when to evict them. Both of them are, more or less, the same in this aspect.
Continue reading

Kubernetes RBAC Compared To Docker Swarm RBAC

This article is part of the series that compare Kubernetes and Docker Swarm features.

Docker has RBAC. Just as Kubernetes, it is organized around subjects, roles, and resource collections. In many aspects, both provide a very similar set of features. Should we quickly declare it a tie?

There is one crucial difference between Kubernetes RBAC and the one provided by Docker. The latter is not free. You’d need to purchase Docker Enterprise Edition (EE) to secure your cluster beyond “only those with the certificate can access it.” If you do have Docker EE, you already made up your mind, and the discussion whether to use one or the other is over. Docker EE is great, and soon it will work not only with Swarm but also with Kubernetes. You bought it, and there’s not much reason to switch to something else. However, this comparison focuses on what open source core versions can offer. It ignores third party and enterprise additions.
Continue reading

Kubernetes Namespaces Compared To Docker Swarm Equivalent (If There Is Any)

This article is part of the series that compares Kubernetes and Docker Swarm features.

Docker Swarm does not have anything like Kubernetes Namespaces. We cannot split a Swarm cluster into sections. Therefore, we can finish this comparison by saying that Kubernetes is a clear winner regarding this feature since Docker Swarm doesn’t have Namespaces. But, that would not be entirely accurate.

Docker Swarm stacks are, in a way, similar to Kubernetes Namespaces. All the services in a stack are uniquely identified through a combination of a stack name and the names of services inside it. By default, all services within a stack can communicate with each other through the stack’s default network. Services can speak with those from other stacks only if they are explicitly attached to the same network. All in all, each Swarm stack is separated from other stacks. They are, in a way, similar to Kubernetes Namespaces.
Continue reading

Kubernetes Secrets Compared To Docker Swarm Secrets

This article is part of the series that compares Kubernetes and Docker Swarm features.

Secrets are very similar to Kubernetes ConfigMaps and Docker Swarm configs. Everything we said for configurations applies to Secrets, with a few additional features.

Both Kubernetes and Docker Swarm stores Secrets in tmpfs inside containers. From that aspect, they are equally secure. The significant difference is in the way Secrets are stored internally.
Continue reading