Application deployments in k8s
- The basic process
- Manifests (static or dynamic)
- From CI/CD whenever the code is merged
- Build docker images
- update manifests (use –values)
- Update deployment (kubectl or helm )
- Apporach is push
GitOPS
- The manifest or helm will be the source (Git repo)
- whenever the source is changed the deployment will be updated automatically
- whenever there is change the deployment is automatically updated (pull)
- A system which does this approach is referred as gitops
-
Popular gitops tools
- ArgoCD
- FluxCD
- Jenkinsx
- Tekton
- In our k8s cluster we deploy gitops tool
- Now gitops tool can work in the same cluster or other clusters can also be enabled.
Service Mesh
- Generally when service mesh is enabled without changing the containers we can control network
- Circuit breaking
- Routing
- Header Based
- Traffic splitting
- SSL/TLS enabling.
- Observability Tools
- Fault injection
- Popular service mesh:
- istio
- Linkerd
