Files
nomulus/jetty/kubernetes/nomulus-epp-server.yaml
T
Pavlo TkachandGitHub b187193e79 Migrate external EPP proxy to integrated Nomulus EPP server (#3126)
* Remove proxy, add new service

* Consolidate MetricReporter under single listener
2026-07-21 19:04:33 +00:00

106 lines
2.7 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: epp-server
annotations:
tag: "latest"
spec:
selector:
matchLabels:
service: epp-server
template:
metadata:
labels:
service: epp-server
spec:
serviceAccountName: nomulus
nodeSelector:
cloud.google.com/machine-family: c4
containers:
- name: frontend
image: gcr.io/GCP_PROJECT/nomulus
ports:
- containerPort: 8080
name: http
- containerPort: 30002
name: epp
- containerPort: 30000
name: health-check
readinessProbe:
tcpSocket:
port: health-check
initialDelaySeconds: 15
periodSeconds: 10
resources:
requests:
# explicit pod-slots 0 is required in order to downgrade node
# class from performance, which has implicit pod-slots 1
cloud.google.com/pod-slots: 0
cpu: "1200m"
memory: "3Gi"
limits:
# explicit pod-slots 0 is required in order to downgrade node
# class from performance, which has implicit pod-slots 1
cloud.google.com/pod-slots: 0
cpu: "2000m"
memory: "6Gi"
args: [ENVIRONMENT]
env:
- name: TCP_SERVER_ENABLED
value: "true"
- name: POD_ID
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: JETTY_WORKER_INSTANCE
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE_ID
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: CONTAINER_NAME
value: frontend
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: epp-server
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: epp-server
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 80
---
apiVersion: v1
kind: Service
metadata:
name: epp-server
annotations:
cloud.google.com/l4-rbs: enabled
networking.gke.io/weighted-load-balancing: pods-per-node
# MUST RESERVE THESE NEW IPS IN GCP BEFORE DEPLOYING
networking.gke.io/load-balancer-ip-addresses: "EPP-v2-ipv6-main,EPP-v2-ipv4-main"
spec:
type: LoadBalancer
# Traffic is directly delivered to a node, preserving the original source IP.
externalTrafficPolicy: Local
ipFamilies: [IPv4, IPv6]
ipFamilyPolicy: RequireDualStack
selector:
service: epp-server
ports:
- port: 700
targetPort: epp
name: epp