blob: c4463fb6628f05e33df9221b005798f11257f8cf [file] [log] [blame]
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{.Name}}
namespace: {{.Namespace}}
labels:
app: {{.Name}}
app-type: dubbo
spec:
replicas: 3
revisionHistoryLimit: 5
selector:
matchLabels:
app: {{.Name}}
app-type: dubbo
template:
metadata:
labels:
app: {{.Name}}
app-type: dubbo{{if .UseProm}}
#helm-charts 配置 https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus
annotations:
prometheus.io/scrape: "true"
prometheus.io/path: /management/prometheus
prometheus.io/port: "18081"{{end}}
spec:
containers:
- name: {{.Name}}
image: {{.Image}}
env:
- name: DUBBO_CTL_VERSION
value: 0.0.1
ports:
- containerPort: {{.Port}}
name: dubbo
protocol: TCP{{if .UseProm}}
- containerPort: 18081
name: metrics
protocol: TCP{{end}}
readinessProbe:
tcpSocket:
port: {{.Port}}
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: {{.Port}}
initialDelaySeconds: 15
periodSeconds: 20
resources:
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: 1000m
memory: 1024Mi
---
apiVersion: v1
kind: Service
metadata:
name: {{.Name}}-svc
namespace: {{.Namespace}}
spec:
ports:
{{if .UseNodePort}}- nodePort: {{.NodePort}}
port: {{.Port}}
protocol: TCP
targetPort: {{.TargetPort}}
type: NodePort{{else}}- port: {{.Port}}
targetPort: {{.TargetPort}}{{end}}{{if .UseProm}}
- port: 18081
targetPort: 18081{{end}}
selector:
app: {{.Name}}
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: {{.Name}}-hpa-c
namespace: {{.Namespace}}
labels:
app: {{.Name}}-hpa-c
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{.Name}}
minReplicas: 3
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 80
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: {{.Name}}-hpa-m
namespace: {{.Namespace}}
labels:
app: {{.Name}}-hpa-m
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{.Name}}
minReplicas: 3
maxReplicas: 10
metrics:
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 80