updates
This commit is contained in:
225
k8s/service.yaml
Normal file
225
k8s/service.yaml
Normal file
@@ -0,0 +1,225 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: wifi-densepose-service
|
||||
namespace: wifi-densepose
|
||||
labels:
|
||||
app: wifi-densepose
|
||||
component: api
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8080"
|
||||
prometheus.io/path: "/metrics"
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 8000
|
||||
targetPort: 8000
|
||||
protocol: TCP
|
||||
name: http
|
||||
- port: 8080
|
||||
targetPort: 8080
|
||||
protocol: TCP
|
||||
name: metrics
|
||||
selector:
|
||||
app: wifi-densepose
|
||||
component: api
|
||||
sessionAffinity: None
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: postgres-service
|
||||
namespace: wifi-densepose
|
||||
labels:
|
||||
app: wifi-densepose
|
||||
component: postgres
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 5432
|
||||
targetPort: 5432
|
||||
protocol: TCP
|
||||
name: postgres
|
||||
selector:
|
||||
app: wifi-densepose
|
||||
component: postgres
|
||||
sessionAffinity: None
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: redis-service
|
||||
namespace: wifi-densepose
|
||||
labels:
|
||||
app: wifi-densepose
|
||||
component: redis
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 6379
|
||||
targetPort: 6379
|
||||
protocol: TCP
|
||||
name: redis
|
||||
selector:
|
||||
app: wifi-densepose
|
||||
component: redis
|
||||
sessionAffinity: None
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: nginx-service
|
||||
namespace: wifi-densepose
|
||||
labels:
|
||||
app: wifi-densepose
|
||||
component: nginx
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 80
|
||||
protocol: TCP
|
||||
name: http
|
||||
- port: 443
|
||||
targetPort: 443
|
||||
protocol: TCP
|
||||
name: https
|
||||
selector:
|
||||
app: wifi-densepose
|
||||
component: nginx
|
||||
sessionAffinity: None
|
||||
loadBalancerSourceRanges:
|
||||
- 0.0.0.0/0
|
||||
|
||||
---
|
||||
# Headless service for StatefulSet (if needed for database clustering)
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: postgres-headless
|
||||
namespace: wifi-densepose
|
||||
labels:
|
||||
app: wifi-densepose
|
||||
component: postgres
|
||||
spec:
|
||||
type: ClusterIP
|
||||
clusterIP: None
|
||||
ports:
|
||||
- port: 5432
|
||||
targetPort: 5432
|
||||
protocol: TCP
|
||||
name: postgres
|
||||
selector:
|
||||
app: wifi-densepose
|
||||
component: postgres
|
||||
|
||||
---
|
||||
# Internal service for monitoring
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: wifi-densepose-internal
|
||||
namespace: wifi-densepose
|
||||
labels:
|
||||
app: wifi-densepose
|
||||
component: internal
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 8080
|
||||
targetPort: 8080
|
||||
protocol: TCP
|
||||
name: metrics
|
||||
- port: 8000
|
||||
targetPort: 8000
|
||||
protocol: TCP
|
||||
name: health
|
||||
selector:
|
||||
app: wifi-densepose
|
||||
component: api
|
||||
sessionAffinity: None
|
||||
|
||||
---
|
||||
# Service for WebSocket connections
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: wifi-densepose-websocket
|
||||
namespace: wifi-densepose
|
||||
labels:
|
||||
app: wifi-densepose
|
||||
component: websocket
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "tcp"
|
||||
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "3600"
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
ports:
|
||||
- port: 8000
|
||||
targetPort: 8000
|
||||
protocol: TCP
|
||||
name: websocket
|
||||
selector:
|
||||
app: wifi-densepose
|
||||
component: api
|
||||
sessionAffinity: ClientIP
|
||||
sessionAffinityConfig:
|
||||
clientIP:
|
||||
timeoutSeconds: 3600
|
||||
|
||||
---
|
||||
# Service Monitor for Prometheus (if using Prometheus Operator)
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: wifi-densepose-monitor
|
||||
namespace: wifi-densepose
|
||||
labels:
|
||||
app: wifi-densepose
|
||||
component: monitoring
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: wifi-densepose
|
||||
component: api
|
||||
endpoints:
|
||||
- port: metrics
|
||||
interval: 30s
|
||||
path: /metrics
|
||||
scheme: http
|
||||
- port: http
|
||||
interval: 60s
|
||||
path: /health
|
||||
scheme: http
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- wifi-densepose
|
||||
|
||||
---
|
||||
# Pod Monitor for additional pod-level metrics
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: PodMonitor
|
||||
metadata:
|
||||
name: wifi-densepose-pod-monitor
|
||||
namespace: wifi-densepose
|
||||
labels:
|
||||
app: wifi-densepose
|
||||
component: monitoring
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: wifi-densepose
|
||||
podMetricsEndpoints:
|
||||
- port: metrics
|
||||
interval: 30s
|
||||
path: /metrics
|
||||
- port: http
|
||||
interval: 60s
|
||||
path: /api/v1/status
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- wifi-densepose
|
||||
Reference in New Issue
Block a user