Microservices Architecture
Microservices Architecture
|
├── Minikube
| └── Local Cluster Environment
| └── Manages local Kubernetes cluster
|
├── Kubernetes
| ├── API Server
| ├── Scheduler
| ├── Controller Manager
| ├── ETCD (key-value store)
| └── Nodes
| ├── Kubelet
| ├── Kube Proxy
| └── Pods
| └── Microservices
|
├── NGINX Ingress Controller
| └── Ingress Rules
| ├── Routes external traffic to services
| └── Handles SSL termination with Cert Manager
|
├── OAuth2 Authentication
| └── Auth Server
| ├── Issues access tokens for services
| └── Manages user authentication
|
├── Cert Manager
| ├── Manages SSL/TLS certificates
| └── Integrates with NGINX for HTTPS traffic
|
├── Istio (Service Mesh)
| ├── Traffic Management
| ├── Security
| ├── Observability
| └── Policy Enforcement
| └── Service Mesh
| ├── Envoy Proxies
| | └── Manages communication between services
| ├── Control Plane
| | ├── Pilot (service discovery and configuration)
| | ├── Mixer (policy checks and telemetry)
| | └── Citadel (manages service-to-service authentication)
| └── Gateway (external traffic management)
|
└── EFK Stack
├── Elasticsearch
| └── Data storage and indexing
├── Fluentd
| └── Log collection and forwarding
└── Kibana
└── Visualization of logs and metrics