Frequently Asked Questions
General
Q: How long does deployment take?
A: Usually 2-5 minutes: - Build: 1-2 minutes - Deploy: 1-2 minutes - Container startup: 30-60 seconds
Q: Can I deploy multiple apps?
A: Yes! Each repository can have its own deployment. They'll all run on the same cluster with different URLs.
Q: What happens if I push broken code?
A: The build will fail and the previous version keeps running. Fix the code and push again.
Technical
Q: Why use docker-compose.yml instead of Kubernetes YAML?
A: Simplicity! Docker Compose is: - Easier to write and understand - Works for local development - Automatically converted to Kubernetes
Q: Can I use custom domains?
A: Yes, add DNS records pointing to the server IP and update the ingress configuration.
Q: How do I scale my application?
A: Add replicas to docker-compose.yml:
Q: Where are logs stored?
A: In the containers. Use kubectl logs to view them. For persistent logging, add a logging service.
Troubleshooting
Q: My app works locally but not in Kubernetes
A: Common issues:
- Not binding to 0.0.0.0 (binding to localhost won't work)
- Missing environment variables
- Different port configuration
Q: How do I rollback a bad deployment?
A: Two options: 1. Push a revert commit 2. Manually set previous image:
Q: Why is my database connection failing?
A: Check:
- Service name (use postgres not localhost)
- Network configuration (same network)
- Credentials in environment variables
Best Practices
Q: Should I commit .env files?
A: Never! Use GitHub Secrets for sensitive data.
Q: How often should I update dependencies?
A: Monthly for minor updates, immediately for security patches.
Q: Can I SSH into the server?
A: Yes, but try to use kubectl commands instead. Direct server access should be rare.
More Questions?
- Check the documentation
- Open an issue
- Contact the infrastructure team