Skip to content

Commit 330189d

Browse files
davidheryantofeast-ci-bot
authored andcommitted
Update Feast installation doc (#207)
* Update start command in Docker image In newer official images of java the absolute path of java is no longer /usr/bin/java * Update default values.yaml, secret config and resource request * Update feast installation quickstart doc * Add comment to FEAST_POSTGRES_PASSWORD variable * Add comment for FEAST_STAGING_LOCATION_GCS_URI * Make comment clearer for setting core and serving uri * Add missing syntax declaration for code block * Make comment clearer when setting core,serving uri * Update comment for 'feast config set' * Fix case * Make comment clearer when setting uri * Fix core-deploy.yaml Use template postgresql.secretName to retrieve DB_PASSWORD * Fix typo * Update description of feast usage of gcp services * Update description for setting variables * Fix gcloud container create arguments * Update required roles for feast admin and nat router requirement * Update GCP_REGION options * Set default value for core.jobs.runner to DirectRunner in helm chart
1 parent a805e9d commit 330189d

8 files changed

Lines changed: 381 additions & 110 deletions

File tree

Dockerfiles/core/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ARG REVISION=dev
1010
COPY --from=builder /build/core/target/feast-core-$REVISION.jar /usr/share/feast/feast-core.jar
1111
COPY --from=builder /build/ingestion/target/feast-ingestion-$REVISION.jar /usr/share/feast/feast-ingestion.jar
1212
ENV JOB_EXECUTABLE=/usr/share/feast/feast-ingestion.jar
13-
ENTRYPOINT ["/usr/bin/java", \
13+
ENTRYPOINT ["java", \
1414
"-XX:+UnlockExperimentalVMOptions", \
1515
"-XX:+UseCGroupMemoryLimitForHeap", \
1616
"-jar", "/usr/share/feast/feast-core.jar"]

Dockerfiles/serving/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ RUN mvn --projects serving -Drevision=$REVISION -DskipTests=true --batch-mode pa
88
FROM openjdk:8-jre-alpine as production
99
ARG REVISION=dev
1010
COPY --from=builder /build/serving/target/feast-serving-$REVISION.jar /usr/share/feast/feast-serving.jar
11-
ENTRYPOINT ["/usr/bin/java", \
11+
ENTRYPOINT ["java", \
1212
"-XX:+UseG1GC", \
1313
"-XX:+UseStringDeduplication", \
1414
"-XX:+UnlockExperimentalVMOptions", \

charts/feast/templates/_helpers.tpl

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,6 @@ If release name contains chart name it will be used as a full name.
6464
{{- end -}}
6565
{{- end -}}
6666

67-
{{/*
68-
Generate postgresql secret name
69-
*/}}
70-
{{- define "postgresql.secretName" -}}
71-
{{ default (include "postgresql.fullname" .) .Values.existingSecret }}
72-
{{- end -}}
73-
7467
{{/*
7568
Create chart name and version as used by the chart label.
7669
*/}}

charts/feast/templates/core-deploy.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
apiVersion: extensions/v1beta1
1+
apiVersion: apps/v1
22
kind: Deployment
33
metadata:
44
name: {{ template "feast.core.name" . }}
@@ -11,6 +11,11 @@ metadata:
1111
heritage: {{ .Release.Service }}
1212
spec:
1313
replicas: {{ .Values.core.replicaCount }}
14+
selector:
15+
matchLabels:
16+
app: {{ template "feast.name" . }}
17+
component: core
18+
release: {{ .Release.Name }}
1419
strategy:
1520
type: RollingUpdate
1621
rollingUpdate:
@@ -75,7 +80,7 @@ spec:
7580
- name: DB_PASSWORD
7681
valueFrom:
7782
secretKeyRef:
78-
name: {{ template "postgresql.fullname" . }}
83+
name: {{ template "postgresql.secretName" . }}
7984
key: postgresql-password
8085
- name: LOG_TYPE
8186
value: {{ .Values.core.logType }}

charts/feast/templates/serving-deploy.yaml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
apiVersion: extensions/v1beta1
1+
apiVersion: apps/v1
22
kind: Deployment
33
metadata:
44
name: {{ template "feast.serving.name" . }}
@@ -11,6 +11,11 @@ metadata:
1111
heritage: {{ .Release.Service }}
1212
spec:
1313
replicas: {{ .Values.serving.replicaCount }}
14+
selector:
15+
matchLabels:
16+
app: {{ template "feast.name" . }}
17+
component: serving
18+
release: {{ .Release.Name }}
1419
strategy:
1520
type: RollingUpdate
1621
rollingUpdate:
@@ -72,7 +77,7 @@ spec:
7277
- name: STORE_SERVING_TYPE
7378
value: {{ .Values.store.serving.type }}
7479
- name: STORE_SERVING_OPTIONS
75-
value: {{ .Values.store.serving.options | toJson}}
80+
value: {{ .Values.store.serving.options | toJson }}
7681
- name: FEAST_MAX_NB_THREAD
7782
value: "{{ .Values.serving.config.maxNumberOfThread }}"
7883
- name: FEAST_MAX_ENTITY_PER_BATCH
@@ -84,7 +89,7 @@ spec:
8489
- name: FEAST_REDIS_POOL_MAX_IDLE
8590
value: "{{ .Values.serving.config.redisPool.maxIdle }}"
8691
- name: STATSD_HOST
87-
value: {{ .Values.statsd.host }}
92+
value: "{{ .Values.statsd.host }}"
8893
- name: STATSD_PORT
8994
value: "{{ .Values.statsd.port }}"
9095
{{- if .Values.serving.jaeger.enabled }}

charts/feast/values.yaml

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ core:
1010
resources:
1111
limits:
1212
cpu: 4
13-
memory: 8G
13+
memory: 6G
1414
requests:
15-
cpu: 2
16-
memory: 4G
15+
cpu: 1
16+
memory: 2G
1717
rollingUpdate:
1818
maxSurge: 2
1919
maxUnavailable: 0
@@ -30,6 +30,7 @@ core:
3030
# loadBalancerSourceRanges: ["10.0.0.0/8"]
3131
jobs:
3232
workspace: "/tmp"
33+
# runner specifies the Beam pipeline runner, use either DirectRunner (for development) or DataflowRunner (for production)
3334
runner: DirectRunner
3435
options: "{}"
3536
errorStoreType: "stdout"
@@ -46,25 +47,30 @@ core:
4647
initialDelaySeconds: 60
4748
failureThreshold: 1
4849

49-
#store:
50-
# errors:
51-
# type: "stdout"
52-
# warehouse:
53-
# type: "bigquery"
54-
# options: '{"project": "gcp-project-id", "dataset": "feast"}'
55-
# serving:
56-
# type: "redis"
57-
# options: '{"host": "...", "port": "6379"}'
50+
# dataflow configuration is required when core.jobs.runner=DataflowRunner
51+
# dataflow:
52+
# projectID: ${GCP_PROJECT}
53+
# location: ${GCP_REGION}
5854

59-
# postgresql:
60-
# provision: true
61-
# persistence:
62-
# enabled: false
55+
store:
56+
errors:
57+
type: "stdout"
58+
warehouse:
59+
type: "bigquery"
60+
# options: '{"project": "gcp-project-id", "dataset": "feast"}'
61+
serving:
62+
type: "redis"
63+
# options: '{"host": "redis-master", "port": "6379"}'
64+
65+
postgresql:
66+
provision: true
67+
persistence:
68+
enabled: true
6369

64-
# redis:
65-
# provision: true
66-
# cluster:
67-
# enabled: false
70+
redis:
71+
provision: false
72+
cluster:
73+
enabled: false
6874

6975
serving:
7076
config:
@@ -86,7 +92,7 @@ serving:
8692
memory: 4G
8793
requests:
8894
cpu: 1
89-
memory: 2G
95+
memory: 1G
9096
rollingUpdate:
9197
maxSurge: 2
9298
maxUnavailable: 0
@@ -107,14 +113,14 @@ serving:
107113
initialDelaySeconds: 120
108114
failureThreshold: 3
109115
readinessProbe:
110-
initialDelaySeconds: 60
116+
initialDelaySeconds: 30
111117
failureThreshold: 1
112118

113119
# Enable only if you have an existing service account you
114120
# want to mount the secret of.
115121
# serviceAccount:
116122
# name: feast-service-account
117-
# key: feast-service-account-key
123+
# key: service-account.json
118124

119125
statsd:
120126
host: "localhost"

0 commit comments

Comments
 (0)