92 lines
1.8 KiB
YAML
92 lines
1.8 KiB
YAML
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: titan
|
|
namespace: nearle
|
|
labels:
|
|
app: titan
|
|
spec:
|
|
serviceName: "titan"
|
|
replicas: 3
|
|
selector:
|
|
matchLabels:
|
|
app: titan
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: titan
|
|
spec:
|
|
tolerations:
|
|
- key: dedicated
|
|
operator: Equal
|
|
value: apps
|
|
effect: NoSchedule
|
|
affinity:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: node-role.workolik/app
|
|
operator: In
|
|
values:
|
|
- "true"
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 100
|
|
podAffinityTerm:
|
|
labelSelector:
|
|
matchLabels:
|
|
app: titan
|
|
topologyKey: kubernetes.io/hostname
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: ScheduleAnyway
|
|
labelSelector:
|
|
matchLabels:
|
|
app: titan
|
|
containers:
|
|
- name: backend
|
|
image: groomgear/groomgear:v1.0.41
|
|
imagePullPolicy: Always
|
|
ports:
|
|
- containerPort: 1006
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: titan
|
|
namespace: nearle
|
|
labels:
|
|
app: titan
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 80
|
|
targetPort: 1006
|
|
protocol: TCP
|
|
selector:
|
|
app: titan
|
|
---
|
|
apiVersion: gateway.networking.k8s.io/v1
|
|
kind: HTTPRoute
|
|
metadata:
|
|
name: titan-route
|
|
namespace: nearle
|
|
labels:
|
|
app: titan
|
|
spec:
|
|
parentRefs:
|
|
- name: gateway
|
|
namespace: alaska
|
|
hostnames:
|
|
- "titan.nearle.app"
|
|
rules:
|
|
- matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /
|
|
backendRefs:
|
|
- name: titan
|
|
port: 80
|