Kubernetes Deployment Guide
CERTInext OnPremise v2.8 - Kubernetes Deployment Guide
Table of Contents
1. Introduction
2. Architecture Overview
Service
Image
Role
Database
Deployment Order
3. Prerequisites
3.1 Kubernetes Cluster
3.2 MetalLB Load Balancer
3.3 NGINX Ingress Controller
3.4 DNS Entries
Service
Example Hostname
3.5 TLS Certificates
3.6 External MySQL 8.0
4. Database Setup (External MySQL)
4.1 Create MySQL User
4.2 Create Databases
4.3 Grant Permissions
4.4 Execute SQL Scripts
Order
Script
Database
Purpose
4.5 Disable ONLY_FULL_GROUP_BY
5. Prepare Property Files
5.1 CERTInext Backend API Configuration
5.2 CERTInext - certHub.properties
5.3 CERTInext Backoffice - DB.properties
5.4 CERTInext Discovery API - DB.properties
Key Configuration Notes
6. Import Docker Images
6.1 Copy Image Files to Worker Nodes
6.2 Import Images on Each Worker Node
6.3 Verify Imported Images
7. Namespace Strategy
Option A - Single Shared Namespace (Recommended)
Option B - Separate Namespaces Per Service
8. Create Kubernetes Secrets
8.1 TLS Certificate Secret
8.2 Database Property Secrets
9. Deploy Applications
Deployment Order
Step 1: Deploy Backend API
Step 2: Deploy CERTInext
Step 3: Deploy Backoffice and Discovery API
10. Post-Deployment Configuration
10.1 Update Database Settings
11. Verification & Health Checks
11.1 Check Pod Status
11.2 Review Application Logs
11.3 HTTP Health Checks
12. Troubleshooting
Pod in CrashLoopBackOff
Backend API Not Reachable
Database Connection Failures
Image Pull Errors
Appendix A: YAML Manifest Summary
YAML File
Resources
Service Port
Ingress Host
Common Deployment Patterns
Quick Reference Checklist
Last updated
