Useful Links
Computer Science
Containerization and Orchestration
Java on Kubernetes
1. Introduction to Java on Kubernetes
2. Foundational Concepts
3. Containerizing Java Applications
4. Deploying Java Applications to Kubernetes
5. Resource Management and Performance
6. Cloud-Native Java Frameworks
7. Observability and Monitoring
8. Security Considerations
9. Advanced Deployment Patterns
10. Performance Optimization
11. Troubleshooting and Debugging
12. Best Practices and Patterns
Foundational Concepts
Core Kubernetes Concepts
Cluster Architecture
Master Node Components
Worker Node Components
etcd
API Server
Pods
Pod Lifecycle
Multi-container Pods
Pod Networking
Pod Resource Requests and Limits
Pod Labels and Selectors
Pod Affinity and Anti-affinity
Services
Service Types
ClusterIP
NodePort
LoadBalancer
ExternalName
Service Discovery
Endpoints and EndpointSlices
Service Mesh Integration Points
Deployments
Deployment Lifecycle
Replica Management
Rollback and Revision History
Deployment Strategies
Recreate
Rolling Update
ReplicaSets
Purpose and Function
Relationship to Deployments
Manual ReplicaSet Management
Namespaces
Namespace Isolation
Resource Quotas and Limits
Namespace Best Practices
Cross-namespace Communication
ConfigMaps
Storing Non-sensitive Configuration
Mounting as Volumes
Injecting as Environment Variables
ConfigMap Updates and Reloading
Secrets
Storing Sensitive Data
Secret Types
Encoding and Encryption
Access Control for Secrets
Secret Rotation
Volumes and Storage
Volume Types
Persistent Volumes
Persistent Volume Claims
Storage Classes
Ingress
Ingress Controllers
Ingress Rules
TLS Configuration
Path-based Routing
Host-based Routing
Containerization Fundamentals
Container Technology Overview
Containers vs Virtual Machines
Container Runtime Interface
The Role of Containers
Process Isolation
Portability
Resource Efficiency
Immutable Infrastructure
Docker and Container Standards
Docker Architecture
Docker Engine Components
OCI Image Specification
OCI Runtime Specification
Container Runtime Options
Container Images vs Containers
Image Layers and Caching
Container Lifecycle
Image Filesystem
Union Filesystems
Container Registries
Public Registries
Private Registries
Image Tagging and Versioning
Image Pull Policies
Registry Security
Java and JVM Fundamentals
The Java Virtual Machine
JVM Architecture
JVM Startup Process
JVM Shutdown Process
JVM Flags and Options
Memory Management
Heap Space
Young Generation
Old Generation
Heap Sizing
Metaspace
Class Metadata Storage
Metaspace Sizing
Stack Space
Thread Stack Allocation
Stack Size Configuration
Direct Memory
Off-heap Memory Usage
Direct Buffer Management
Garbage Collection
GC Algorithms Overview
Serial GC
Parallel GC
G1 GC
ZGC
Shenandoah
GC Tuning Parameters
GC Monitoring and Analysis
GC Impact on Application Performance
Just-In-Time Compilation
JIT Compiler Phases
Impact on Performance
Tiered Compilation
Warmup Considerations
Class Loading
Class Loading Process
Class Loaders Hierarchy
Dynamic Class Loading
Threading Model
Thread Creation and Management
Thread Pools
Concurrency Utilities
Previous
1. Introduction to Java on Kubernetes
Go to top
Next
3. Containerizing Java Applications