fix deploy dotnet backend
This commit is contained in:
31
Makefile
31
Makefile
@ -1,38 +1,55 @@
|
||||
.PHONY: help build-backend build-frontend build-all deploy undeploy clean
|
||||
# Переменные для путей к утилитам
|
||||
KIND_PATH = /home/tactile/.kind-d8/kind
|
||||
KUBECTL_PATH = /home/tactile/.kind-d8/kubectl
|
||||
|
||||
.PHONY: help build-backend build-backend-dotnet build-frontend build-all load-images deploy undeploy clean
|
||||
|
||||
help:
|
||||
@echo "Доступные команды:"
|
||||
@echo " make build-backend - Собрать Docker образ бэкенда"
|
||||
@echo " make build-backend - Собрать Docker образ Python бэкенда"
|
||||
@echo " make build-backend-dotnet - Собрать Docker образ .NET бэкенда"
|
||||
@echo " make build-frontend - Собрать Docker образ фронтенда"
|
||||
@echo " make build-all - Собрать все Docker образы"
|
||||
@echo " make load-images - Загрузить образы в kind кластер"
|
||||
@echo " make deploy - Развернуть приложение в k8s"
|
||||
@echo " make undeploy - Удалить приложение из k8s"
|
||||
@echo " make clean - Очистить все ресурсы"
|
||||
|
||||
build-backend:
|
||||
@echo "Сборка backend образа..."
|
||||
@echo "Сборка Python backend образа..."
|
||||
docker build -t python-navigator-demo-backend:latest ./backend
|
||||
|
||||
build-backend-dotnet:
|
||||
@echo "Сборка .NET backend образа..."
|
||||
docker build -t python-navigator-demo-backend-dotnet:latest ./backend-dotnet
|
||||
|
||||
build-frontend:
|
||||
@echo "Сборка frontend образа..."
|
||||
docker build -t python-navigator-demo-frontend:latest ./frontend
|
||||
|
||||
build-all: build-backend build-frontend
|
||||
build-all: build-backend build-backend-dotnet build-frontend
|
||||
@echo "Все образы собраны успешно!"
|
||||
|
||||
load-images:
|
||||
@echo "Загрузка образов в kind кластер..."
|
||||
$(KIND_PATH) load docker-image python-navigator-demo-backend:latest --name d8
|
||||
$(KIND_PATH) load docker-image python-navigator-demo-backend-dotnet:latest --name d8
|
||||
$(KIND_PATH) load docker-image python-navigator-demo-frontend:latest --name d8
|
||||
@echo "Образы загружены в kind кластер!"
|
||||
|
||||
deploy:
|
||||
@echo "Развертывание приложения в Kubernetes..."
|
||||
~/.kind-d8/kubectl apply -k k8s/
|
||||
$(KUBECTL_PATH) apply -k k8s/
|
||||
@echo "Приложение развернуто!"
|
||||
@echo "Доступно по адресу: https://python-navigator-demo.127.0.0.1.sslip.io"
|
||||
|
||||
undeploy:
|
||||
@echo "Удаление приложения из Kubernetes..."
|
||||
~/.kind-d8/kubectl delete -k k8s/
|
||||
$(KUBECTL_PATH) delete -k k8s/
|
||||
@echo "Приложение удалено!"
|
||||
|
||||
clean: undeploy
|
||||
@echo "Очистка Docker образов..."
|
||||
docker rmi navigator-demo-backend:latest navigator-demo-frontend:latest || true
|
||||
docker rmi python-navigator-demo-backend:latest python-navigator-demo-backend-dotnet:latest python-navigator-demo-frontend:latest || true
|
||||
@echo "Очистка завершена!"
|
||||
|
||||
|
||||
@ -5,6 +5,16 @@ using Npgsql;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// // Force binding to all interfaces in Kubernetes
|
||||
// Console.WriteLine($"ASPNETCORE_URLS env var: {Environment.GetEnvironmentVariable("ASPNETCORE_URLS")}");
|
||||
// Console.WriteLine($"ASPNETCORE_HTTP_PORTS env var: {Environment.GetEnvironmentVariable("ASPNETCORE_HTTP_PORTS")}");
|
||||
|
||||
// // Clear any existing configuration and force our URL
|
||||
// builder.WebHost.ConfigureKestrel(options =>
|
||||
// {
|
||||
// options.ListenAnyIP(8000);
|
||||
// });
|
||||
|
||||
// Configuration
|
||||
var config = new AppConfig
|
||||
{
|
||||
|
||||
@ -5,7 +5,6 @@
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"Urls": "http://localhost:8000"
|
||||
"AllowedHosts": "*"
|
||||
}
|
||||
|
||||
|
||||
78
k8s/backend-dotnet.yaml
Normal file
78
k8s/backend-dotnet.yaml
Normal file
@ -0,0 +1,78 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: backend-dotnet-config
|
||||
namespace: python-navigator-demo
|
||||
data:
|
||||
DB_HOST: postgres
|
||||
DB_PORT: "5432"
|
||||
DB_NAME: python-navigator-demo
|
||||
DB_USER: python-navigator-demo
|
||||
DEX_ISSUER: https://dex.127.0.0.1.sslip.io/
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: backend-dotnet-secret
|
||||
namespace: python-navigator-demo
|
||||
type: Opaque
|
||||
stringData:
|
||||
DB_PASSWORD: python-navigator-demo
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: backend-dotnet
|
||||
namespace: python-navigator-demo
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: backend-dotnet
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: backend-dotnet
|
||||
spec:
|
||||
containers:
|
||||
- name: backend-dotnet
|
||||
image: python-navigator-demo-backend-dotnet:latest
|
||||
imagePullPolicy: Never # Для локальной разработки
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
env:
|
||||
- name: ASPNETCORE_URLS
|
||||
value: "http://0.0.0.0:8000"
|
||||
# - name: ASPNETCORE_HTTP_PORTS
|
||||
# value: "8000"
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: backend-dotnet-config
|
||||
- secretRef:
|
||||
name: backend-dotnet-secret
|
||||
# livenessProbe:
|
||||
# httpGet:
|
||||
# path: /api/health
|
||||
# port: 8000
|
||||
# initialDelaySeconds: 10
|
||||
# periodSeconds: 10
|
||||
# readinessProbe:
|
||||
# httpGet:
|
||||
# path: /api/health
|
||||
# port: 8000
|
||||
# initialDelaySeconds: 5
|
||||
# periodSeconds: 5
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: backend-dotnet
|
||||
namespace: python-navigator-demo
|
||||
spec:
|
||||
selector:
|
||||
app: backend-dotnet
|
||||
ports:
|
||||
- port: 8000
|
||||
targetPort: 8000
|
||||
type: ClusterIP
|
||||
|
||||
@ -35,7 +35,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: backend
|
||||
image: navigator-demo-backend:latest
|
||||
image: python-navigator-demo-backend:latest
|
||||
imagePullPolicy: Never # Для локальной разработки
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
|
||||
@ -22,14 +22,22 @@ spec:
|
||||
- host: python-navigator-demo.127.0.0.1.sslip.io
|
||||
http:
|
||||
paths:
|
||||
# API запросы идут напрямую в backend
|
||||
# API запросы для .NET backend
|
||||
- path: /api
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: backend
|
||||
name: backend-dotnet
|
||||
port:
|
||||
number: 8000
|
||||
# API запросы идут напрямую в Python backend
|
||||
# - path: /api
|
||||
# pathType: Prefix
|
||||
# backend:
|
||||
# service:
|
||||
# name: backend
|
||||
# port:
|
||||
# number: 8000
|
||||
# Все остальное идет в frontend
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
|
||||
Reference in New Issue
Block a user