-
Notifications
You must be signed in to change notification settings - Fork 26
Home
Docker is a program that performs OS-level virtualization also known as containerization. Docker creates a simple tooling and a universal packaging approach that bundles up your application and its dependencies inside a container. Docker containers can be used in development, staging to the production environment.
Kubernetes is an open source Container Orchestration System for automatic deployment, scaling, and management of Containerized application. Kubernetes gives you the freedom to take advantage of on-premise, hybrid or public cloud infrastructure. Kubernetes helps you to scale both horizontally and vertically depends on the load.
Kubernetes gives containers their own IP addresses and a single DNS name for a set of containers and can load-balance across them. Kubernetes Secrets helps you to store your sensitive information about the application such as passwords, OAuth tokens, and ssh keys.
Kubernetes progressively rolls out changes to your application or its configuration, while monitoring application health to ensure it doesn't kill all your instances at the same time. If something goes wrong, Kubernetes will rollback the change for you.
Jenkins helps to create continuous integration and Continuous Delivery pipelines. It allows to write pipeline as code and supports distributed build environments.
Microservices Architecture adds complexity in terms of management, monitoring etc., which put the brakes on developers mindset when they want to switch over from Monolithic to Microservices based Architecture. Service Mesh helps over here along with Kubernetes with the Sidecar Pattern to streamline and simplify the communication, management, and monitoring of the Microservices.
To deploy Microservices example in kubernetes with ingress controller, simpliy run k8_workshop_v1.0.sh. This script will create
- Shoppingportal namespace
- Persistent mysql container
- Deployment (i.e product app, product review app) with various configuration
- Ingress controller which has routing rules
You can deploy new version of app using k8_workshop_v1.1.sh. Also if you want to test canary deployment without Istio you can execute k8_workshop_canary_with_v1.0.sh, this will show different version of UI in round robin fashion.
To deploy Microservices example in kubernetes with Istio, simpliy run k8_workshop_istio_v1.0.sh. This script will create
- Shoppingportal namespace
- Persistent mysql container
- Deployment (i.e product app, product review app) with various configuration
- Gateway
- Virtual Service