-
Notifications
You must be signed in to change notification settings - Fork 0
Kubernetes
Kubernetes is tool for orchestrating microservice applications. It's used heavily @FlowUp, therefore, it's useful to have general knowledge of Kubernetes.
Kubernetes has a great amount of the resources to learn so here is an outline that can be followed provided:
-
Introduction
-
Services (service discovery)
-
Workloads
-
Configuration
-
Storage
-
Workloads (Advanced)
-
One-shot workloads
-
Advanced techniques
- RBAC
- Node Affinity/Anti-affinity - setting Pods' rules for scheduling (selecting node with specific label, make node with label preferred/unpreferred)
- Pod Affinity/Anti-affinity - setting Pods' rules for scheduling (selecting node where another Pod with specific label runs, ...)
-
Ingress(Nice to know, as we don't use Ingress anymore; networking is now managed by Istio)
It's common to use Helm Charts to create and pack Kubernetes configurations. Versatile configurations reusable in every environment can be created by leveraging advantages of the Helm.
By default, we use labels provided by Helm. These should be extended in Deployment resources with label type
which has value app
for services and infra
for infrastructure components (such as db).
Then, you can restart whole application by running:
kubectl delete pods -l type=app
-
FE / Angular
-
Golang
-
DevOps
-
Agile process and SCRUM
-
Internship
-
Bootcamp