- Популярные видео
- Авто
- Видео-блоги
- ДТП, аварии
- Для маленьких
- Еда, напитки
- Животные
- Закон и право
- Знаменитости
- Игры
- Искусство
- Комедии
- Красота, мода
- Кулинария, рецепты
- Люди
- Мото
- Музыка
- Мультфильмы
- Наука, технологии
- Новости
- Образование
- Политика
- Праздники
- Приколы
- Природа
- Происшествия
- Путешествия
- Развлечения
- Ржач
- Семья
- Сериалы
- Спорт
- Стиль жизни
- ТВ передачи
- Танцы
- Технологии
- Товары
- Ужасы
- Фильмы
- Шоу-бизнес
- Юмор
EP13 - Deploy a REAL Application on Kubernetes (React + Node.js + PostgreSQL)
🚀 In this episode we deploy a complete full-stack application on Kubernetes using React, Node.js, PostgreSQL, ConfigMaps, Secrets, Persistent Volumes, Services and Ingress.
Clone Repository
git clone https://github.com/dalita/devops-basics-students-portal.git
cd devops-basics-students-portal
Project Structure
mkdir -p k8s/postgres
mkdir -p k8s/backend
mkdir -p k8s/frontend
mkdir -p k8s/configmap
mkdir -p k8s/secret
mkdir -p k8s/ingress
⸻
Deploy PostgreSQL
kubectl apply -f k8s/secret/postgres-secret.yaml
kubectl apply -f k8s/postgres/pvc.yaml
kubectl apply -f k8s/postgres/postgres-deployment.yaml
kubectl apply -f k8s/postgres/postgres-service.yaml
⸻
Verify PostgreSQL
kubectl get pods
kubectl get pvc
kubectl get svc
⸻
Deploy Backend Configuration
kubectl apply -f k8s/configmap/backend-configmap.yaml
kubectl apply -f k8s/secret/backend-secret.yaml
⸻
Build Backend Image
cd backend
docker build -t YOUR_DOCKERHUB_USERNAME/devops-basics-backend:latest .
docker push YOUR_DOCKERHUB_USERNAME/devops-basics-backend:latest
cd ..
⸻
Deploy Backend
kubectl apply -f k8s/backend/backend-deployment.yaml
kubectl apply -f k8s/backend/backend-service.yaml
⸻
Verify Backend
kubectl get pods
kubectl get svc
kubectl get endpoints backend-service
⸻
Build Frontend Image
cd frontend
docker build -t YOUR_DOCKERHUB_USERNAME/devops-basics-frontend:latest .
docker push YOUR_DOCKERHUB_USERNAME/devops-basics-frontend:latest
⸻
Deploy Frontend
kubectl apply -f k8s/frontend/frontend-deployment.yaml
kubectl apply -f k8s/frontend/frontend-service.yaml
⸻
Verify Frontend
kubectl get pods
kubectl get svc
kubectl get endpoints frontend-service
⸻
Deploy Ingress
kubectl apply -f k8s/ingress/ingress.yaml
⸻
Verify Ingress
kubectl get ingress
⸻
MacOS Minikube Fix
kubectl patch svc ingress-nginx-controller \
-n ingress-nginx \
-p '{"spec":{"type":"LoadBalancer"}}'
⸻
Start Tunnel
minikube tunnel
⸻
Update Hosts File
sudo vi /etc/hosts
Add:
127.0.0.1 students-portal.local
⸻
Test Ingress
curl http://students-portal.local
⸻
Troubleshooting
Check Backend Logs
kubectl logs deployment/backend
Check Frontend Logs
kubectl logs deployment/frontend
Check PostgreSQL Logs
kubectl logs deployment/postgres
Check Services
kubectl get svc
kubectl get endpoints
⸻
Connect to PostgreSQL
kubectl exec -it deployment/postgres -- psql -U postgres
⸻
Verify Tables
\dt
⸻
Create Users Table
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(255),
email VARCHAR(255)
);
⸻
Verify Table
\dt
⸻
Verify Data
SELECT * FROM users;
⸻
Add Users Through The Application
Harry Potter
harry@hogwarts.com
Hermione Granger
hermione@hogwarts.com
Ron Weasley
ron@hogwarts.com
⸻
Verify Records
SELECT * FROM users;
⸻
Connect Using DBeaver
kubectl port-forward svc/postgres-service 5432:5432
Connection:
Host: localhost
Port: 5432
Database: postgres
Username: postgres
Password: postgres
⸻
Persistent Volume Test
Delete PostgreSQL Pod
kubectl get pods
kubectl delete pod postgres-pod-name
Watch Kubernetes Recreate It
kubectl get pods -w
Reconnect
kubectl port-forward svc/postgres-service 5432:5432
Verify Data Still Exists
SELECT * FROM users;
⸻
Helm Bonus
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm install wordpress bitnami/wordpress
Port Forward WordPress
kubectl port-forward svc/wordpress 8080:80
Get WordPress URL
minikube service wordpress --url
Open WordPress
http://URL_FROM_MINIKUBE
WordPress Admin URL
http://URL_FROM_MINIKUBE/wp-admin
Get WordPress Credentials
echo Username: user
echo Password: $(kubectl get secret --namespace default wordpress -o jsonpath="{.data.wordpress-password}" | base64 -d)
━━━━━━━━━━━━━━━━━━━━━━
📦 Source Code
https://github.com/dalita/devops-basics-students-portal
🎥 Playlist
Kubernetes for Beginners
☕ Subscribe for more DevOps content
━━━━━━━━━━━━━━━━━━━━━━
🎯 Next Episode
EP14 — Kubernetes Best Practices
We'll learn:
• Resource Limits
• Health Checks
• Security
• Labels
• Liveness Probes
• Readiness Probes
• Startup Probes
And we'll transform our Kubernetes application into a production-ready deployment.
#kubernetes #k8s #devops #docker #helm #react #nodejs #postgresql #aws #cloud
Видео EP13 - Deploy a REAL Application on Kubernetes (React + Node.js + PostgreSQL) канала Devops Basics with Dali
Clone Repository
git clone https://github.com/dalita/devops-basics-students-portal.git
cd devops-basics-students-portal
Project Structure
mkdir -p k8s/postgres
mkdir -p k8s/backend
mkdir -p k8s/frontend
mkdir -p k8s/configmap
mkdir -p k8s/secret
mkdir -p k8s/ingress
⸻
Deploy PostgreSQL
kubectl apply -f k8s/secret/postgres-secret.yaml
kubectl apply -f k8s/postgres/pvc.yaml
kubectl apply -f k8s/postgres/postgres-deployment.yaml
kubectl apply -f k8s/postgres/postgres-service.yaml
⸻
Verify PostgreSQL
kubectl get pods
kubectl get pvc
kubectl get svc
⸻
Deploy Backend Configuration
kubectl apply -f k8s/configmap/backend-configmap.yaml
kubectl apply -f k8s/secret/backend-secret.yaml
⸻
Build Backend Image
cd backend
docker build -t YOUR_DOCKERHUB_USERNAME/devops-basics-backend:latest .
docker push YOUR_DOCKERHUB_USERNAME/devops-basics-backend:latest
cd ..
⸻
Deploy Backend
kubectl apply -f k8s/backend/backend-deployment.yaml
kubectl apply -f k8s/backend/backend-service.yaml
⸻
Verify Backend
kubectl get pods
kubectl get svc
kubectl get endpoints backend-service
⸻
Build Frontend Image
cd frontend
docker build -t YOUR_DOCKERHUB_USERNAME/devops-basics-frontend:latest .
docker push YOUR_DOCKERHUB_USERNAME/devops-basics-frontend:latest
⸻
Deploy Frontend
kubectl apply -f k8s/frontend/frontend-deployment.yaml
kubectl apply -f k8s/frontend/frontend-service.yaml
⸻
Verify Frontend
kubectl get pods
kubectl get svc
kubectl get endpoints frontend-service
⸻
Deploy Ingress
kubectl apply -f k8s/ingress/ingress.yaml
⸻
Verify Ingress
kubectl get ingress
⸻
MacOS Minikube Fix
kubectl patch svc ingress-nginx-controller \
-n ingress-nginx \
-p '{"spec":{"type":"LoadBalancer"}}'
⸻
Start Tunnel
minikube tunnel
⸻
Update Hosts File
sudo vi /etc/hosts
Add:
127.0.0.1 students-portal.local
⸻
Test Ingress
curl http://students-portal.local
⸻
Troubleshooting
Check Backend Logs
kubectl logs deployment/backend
Check Frontend Logs
kubectl logs deployment/frontend
Check PostgreSQL Logs
kubectl logs deployment/postgres
Check Services
kubectl get svc
kubectl get endpoints
⸻
Connect to PostgreSQL
kubectl exec -it deployment/postgres -- psql -U postgres
⸻
Verify Tables
\dt
⸻
Create Users Table
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(255),
email VARCHAR(255)
);
⸻
Verify Table
\dt
⸻
Verify Data
SELECT * FROM users;
⸻
Add Users Through The Application
Harry Potter
harry@hogwarts.com
Hermione Granger
hermione@hogwarts.com
Ron Weasley
ron@hogwarts.com
⸻
Verify Records
SELECT * FROM users;
⸻
Connect Using DBeaver
kubectl port-forward svc/postgres-service 5432:5432
Connection:
Host: localhost
Port: 5432
Database: postgres
Username: postgres
Password: postgres
⸻
Persistent Volume Test
Delete PostgreSQL Pod
kubectl get pods
kubectl delete pod postgres-pod-name
Watch Kubernetes Recreate It
kubectl get pods -w
Reconnect
kubectl port-forward svc/postgres-service 5432:5432
Verify Data Still Exists
SELECT * FROM users;
⸻
Helm Bonus
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm install wordpress bitnami/wordpress
Port Forward WordPress
kubectl port-forward svc/wordpress 8080:80
Get WordPress URL
minikube service wordpress --url
Open WordPress
http://URL_FROM_MINIKUBE
WordPress Admin URL
http://URL_FROM_MINIKUBE/wp-admin
Get WordPress Credentials
echo Username: user
echo Password: $(kubectl get secret --namespace default wordpress -o jsonpath="{.data.wordpress-password}" | base64 -d)
━━━━━━━━━━━━━━━━━━━━━━
📦 Source Code
https://github.com/dalita/devops-basics-students-portal
🎥 Playlist
Kubernetes for Beginners
☕ Subscribe for more DevOps content
━━━━━━━━━━━━━━━━━━━━━━
🎯 Next Episode
EP14 — Kubernetes Best Practices
We'll learn:
• Resource Limits
• Health Checks
• Security
• Labels
• Liveness Probes
• Readiness Probes
• Startup Probes
And we'll transform our Kubernetes application into a production-ready deployment.
#kubernetes #k8s #devops #docker #helm #react #nodejs #postgresql #aws #cloud
Видео EP13 - Deploy a REAL Application on Kubernetes (React + Node.js + PostgreSQL) канала Devops Basics with Dali
Комментарии отсутствуют
Информация о видео
16 июня 2026 г. 19:58:49
00:33:18
Другие видео канала




















