Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Commit bba17ad

Browse files
authored
Merge branch 'master' into master
2 parents dcff340 + 60c1b15 commit bba17ad

File tree

6 files changed

+395
-3
lines changed

6 files changed

+395
-3
lines changed

examples/text_to_speech_synthesizer/waveglow_handler.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,9 @@ def initialize(self, ctx):
7474

7575
def preprocess(self, data):
7676
"""
77-
Scales, crops, and normalizes a PIL image for a MNIST model,
77+
converts text to sequence of IDs using tacatron2 text_to_sequence
78+
with english cleaners to transform text and standardize input
79+
(ex: lowercasing, expanding abbreviations and numbers, etc.)
7880
returns an Numpy array
7981
"""
8082
text = data[0].get("data")

kubernetes/EKS/config.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
inference_address=http://0.0.0.0:8080
22
management_address=http://0.0.0.0:8081
3+
metrics_address=http://0.0.0.0:8082
34
NUM_WORKERS=1
45
number_of_gpu=1
56
number_of_netty_threads=32

kubernetes/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,10 +279,12 @@ Follow the link for log aggregation with EFK Stack.\
279279
* Helm is picking up other .yaml files. Make sure you’ve added other files correctly to .helmignore. It should only run with values.yaml.
280280
* `kubectl describe pod` shows error message "0/1 nodes are available: 1 Insufficient cpu."
281281
* Ensure that the `n_cpu` value in `values.yaml` is set to a number that can be supported by the nodes in the cluster.
282-
282+
283+
## Autoscaling
284+
[Autoscaling with torchserve metrics](autoscale.md)
285+
283286
## Roadmap
284287

285-
* [] Autoscaling
286288
* [] Log / Metrics Aggregation using [AWS Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html)
287289
* [] EFK Stack Integration
288290
* [] Readiness / Liveness Probes

kubernetes/adapter.yaml

Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
# Default values for k8s-prometheus-adapter..
2+
affinity: {}
3+
4+
image:
5+
repository: k8s.gcr.io/prometheus-adapter/prometheus-adapter
6+
tag: v0.9.0
7+
pullPolicy: IfNotPresent
8+
9+
logLevel: 4
10+
11+
metricsRelistInterval: 1m
12+
13+
listenPort: 6443
14+
15+
nodeSelector: {}
16+
17+
priorityClassName: ""
18+
19+
# Url to access prometheus
20+
prometheus:
21+
# Value is templated
22+
url: http://prometheus-server.default.svc.cluster.local
23+
port: 80
24+
path: ""
25+
26+
replicas: 1
27+
28+
# k8s 1.21 needs fsGroup to be set for non root deployments
29+
# ref: https://github.com/kubernetes/kubernetes/issues/70679
30+
podSecurityContext:
31+
fsGroup: 10001
32+
33+
rbac:
34+
# Specifies whether RBAC resources should be created
35+
create: true
36+
37+
psp:
38+
# Specifies whether PSP resources should be created
39+
create: false
40+
41+
serviceAccount:
42+
# Specifies whether a service account should be created
43+
create: true
44+
# The name of the service account to use.
45+
# If not set and create is true, a name is generated using the fullname template
46+
name:
47+
# ServiceAccount annotations.
48+
# Use case: AWS EKS IAM roles for service accounts
49+
# ref: https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html
50+
annotations: {}
51+
52+
# Custom DNS configuration to be added to prometheus-adapter pods
53+
dnsConfig: {}
54+
# nameservers:
55+
# - 1.2.3.4
56+
# searches:
57+
# - ns1.svc.cluster-domain.example
58+
# - my.dns.search.suffix
59+
# options:
60+
# - name: ndots
61+
# value: "2"
62+
# - name: edns0
63+
resources: {}
64+
# requests:
65+
# cpu: 100m
66+
# memory: 128Mi
67+
# limits:
68+
# cpu: 100m
69+
# memory: 128Mi
70+
71+
rules:
72+
default: true
73+
custom: []
74+
# - seriesQuery: '{__name__=~"^some_metric_count$"}'
75+
# resources:
76+
# template: <<.Resource>>
77+
# name:
78+
# matches: ""
79+
# as: "my_custom_metric"
80+
# metricsQuery: sum(<<.Series>>{<<.LabelMatchers>>}) by (<<.GroupBy>>)
81+
# Mounts a configMap with pre-generated rules for use. Overrides the
82+
# default, custom, external and resource entries
83+
existing:
84+
external:
85+
- seriesQuery: '{__name__=~"^ts_queue_latency_microseconds"}'
86+
resources:
87+
overrides:
88+
namespace:
89+
resource: namespace
90+
service:
91+
resource: service
92+
pod:
93+
resource: pod
94+
name:
95+
matches: "^(.*)_microseconds"
96+
as: "ts_queue_latency_microseconds"
97+
metricsQuery: ts_queue_latency_microseconds
98+
resource: {}
99+
# cpu:
100+
# containerQuery: sum(rate(container_cpu_usage_seconds_total{<<.LabelMatchers>>, container!=""}[3m])) by (<<.GroupBy>>)
101+
# nodeQuery: sum(rate(container_cpu_usage_seconds_total{<<.LabelMatchers>>, id='/'}[3m])) by (<<.GroupBy>>)
102+
# resources:
103+
# overrides:
104+
# node:
105+
# resource: node
106+
# namespace:
107+
# resource: namespace
108+
# pod:
109+
# resource: pod
110+
# containerLabel: container
111+
# memory:
112+
# containerQuery: sum(container_memory_working_set_bytes{<<.LabelMatchers>>, container!=""}) by (<<.GroupBy>>)
113+
# nodeQuery: sum(container_memory_working_set_bytes{<<.LabelMatchers>>,id='/'}) by (<<.GroupBy>>)
114+
# resources:
115+
# overrides:
116+
# node:
117+
# resource: node
118+
# namespace:
119+
# resource: namespace
120+
# pod:
121+
# resource: pod
122+
# containerLabel: container
123+
# window: 3m
124+
125+
service:
126+
annotations: {}
127+
port: 443
128+
type: ClusterIP
129+
# clusterIP: 1.2.3.4
130+
131+
tls:
132+
enable: false
133+
ca: |-
134+
# Public CA file that signed the APIService
135+
key: |-
136+
# Private key of the APIService
137+
certificate: |-
138+
# Public key of the APIService
139+
140+
# Any extra arguments
141+
extraArguments: []
142+
# - --tls-private-key-file=/etc/tls/tls.key
143+
# - --tls-cert-file=/etc/tls/tls.crt
144+
145+
# Any extra volumes
146+
extraVolumes: []
147+
# - name: example-name
148+
# hostPath:
149+
# path: /path/on/host
150+
# type: DirectoryOrCreate
151+
# - name: ssl-certs
152+
# hostPath:
153+
# path: /etc/ssl/certs/ca-bundle.crt
154+
# type: File
155+
156+
# Any extra volume mounts
157+
extraVolumeMounts: []
158+
# - name: example-name
159+
# mountPath: /path/in/container
160+
# - name: ssl-certs
161+
# mountPath: /etc/ssl/certs/ca-certificates.crt
162+
# readOnly: true
163+
164+
tolerations: []
165+
166+
# Labels added to the pod
167+
podLabels: {}
168+
169+
# Annotations added to the pod
170+
podAnnotations: {}
171+
172+
hostNetwork:
173+
# Specifies if prometheus-adapter should be started in hostNetwork mode.
174+
#
175+
# You would require this enabled if you use alternate overlay networking for pods and
176+
# API server unable to communicate with metrics-server. As an example, this is required
177+
# if you use Weave network on EKS. See also dnsPolicy
178+
enabled: false
179+
180+
# When hostNetwork is enabled, you probably want to set this to ClusterFirstWithHostNet
181+
# dnsPolicy: ClusterFirstWithHostNet
182+
183+
# Deployment strategy type
184+
strategy:
185+
type: RollingUpdate
186+
rollingUpdate:
187+
maxUnavailable: 25%
188+
maxSurge: 25%
189+
190+
podDisruptionBudget:
191+
# Specifies if PodDisruptionBudget should be enabled
192+
# When enabled, minAvailable or maxUnavailable should also be defined.
193+
enabled: false
194+
minAvailable:
195+
maxUnavailable: 1
196+
197+
certManager:
198+
enabled: false
199+
caCertDuration: 43800h
200+
certDuration: 8760h

0 commit comments

Comments
 (0)