Skip to content

Commit b4220a3

Browse files
committed
pipelines: Added proxy documentation
Signed-off-by: Helber Belmiro <[email protected]>
1 parent 44cb9ba commit b4220a3

File tree

1 file changed

+196
-1
lines changed

1 file changed

+196
-1
lines changed

content/en/docs/components/pipelines/operator-guides/server-config.md

+196-1
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,199 @@ For full fledged Kubeflow, each namespace corresponds to a project with the same
3939
To configure the `ALLOWED_ARTIFACT_DOMAIN_REGEX` value for user namespace, add an entry in `ml-pipeline-ui-artifact`
4040
just like this example in [sync.py](https://github.com/kubeflow/pipelines/blob/b630d5c8ae7559be0011e67f01e3aec1946ef765/manifests/kustomize/base/installs/multi-user/pipelines-profile-controller/sync.py#L304-L310) for `ALLOWED_ARTIFACT_DOMAIN_REGEX` environment variable,
4141
the entry is identical to the environment variable instruction in Standalone Kubeflow Pipelines
42-
deployment.
42+
deployment.
43+
44+
## Proxy
45+
46+
Since KFP 2.5, you can set a server-scoped proxy configuration for the backend by setting any of the following environment variables (in uppercase) in the
47+
API Server deployment. All variables are optional.
48+
49+
- `HTTP_PROXY`
50+
- `HTTPS_PROXY`
51+
- `NO_PROXY`
52+
53+
If `HTTP_PROXY` or `HTTPS_PROXY` is set and `NO_PROXY` is not set, `NO_PROXY` will automatically be set to `localhost,127.0.0.1,.svc.cluster.local,kubernetes.default.svc,metadata-grpc-service,0,1,2,3,4,5,6,7,8,9`.
54+
55+
### Example of an API Server deployment with all `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` set
56+
57+
```yaml
58+
apiVersion: apps/v1
59+
kind: Deployment
60+
metadata:
61+
labels:
62+
app: ml-pipeline
63+
application-crd-id: kubeflow-pipelines
64+
name: ml-pipeline
65+
namespace: kubeflow
66+
spec:
67+
selector:
68+
matchLabels:
69+
app: ml-pipeline
70+
application-crd-id: kubeflow-pipelines
71+
template:
72+
metadata:
73+
annotations:
74+
cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
75+
labels:
76+
app: ml-pipeline
77+
application-crd-id: kubeflow-pipelines
78+
spec:
79+
containers:
80+
- env:
81+
- name: HTTP_PROXY
82+
value: http://squid.squid.svc.cluster.local:3128
83+
- name: HTTPS_PROXY
84+
value: http://squid.squid.svc.cluster.local:3128
85+
- name: NO_PROXY
86+
value: localhost,127.0.0.1,.svc.cluster.local,kubernetes.default.svc,metadata-grpc-service,0,1,2,3,4,5,6,7,8,9
87+
- name: LOG_LEVEL
88+
value: info
89+
- name: PIPELINE_LOG_LEVEL
90+
value: "1"
91+
- name: AUTO_UPDATE_PIPELINE_DEFAULT_VERSION
92+
valueFrom:
93+
configMapKeyRef:
94+
key: autoUpdatePipelineDefaultVersion
95+
name: pipeline-install-config
96+
- name: POD_NAMESPACE
97+
valueFrom:
98+
fieldRef:
99+
fieldPath: metadata.namespace
100+
- name: OBJECTSTORECONFIG_SECURE
101+
value: "false"
102+
- name: OBJECTSTORECONFIG_BUCKETNAME
103+
valueFrom:
104+
configMapKeyRef:
105+
key: bucketName
106+
name: pipeline-install-config
107+
- name: DBCONFIG_USER
108+
valueFrom:
109+
secretKeyRef:
110+
key: username
111+
name: mysql-secret
112+
- name: DBCONFIG_PASSWORD
113+
valueFrom:
114+
secretKeyRef:
115+
key: password
116+
name: mysql-secret
117+
- name: DBCONFIG_DBNAME
118+
valueFrom:
119+
configMapKeyRef:
120+
key: pipelineDb
121+
name: pipeline-install-config
122+
- name: DBCONFIG_HOST
123+
valueFrom:
124+
configMapKeyRef:
125+
key: dbHost
126+
name: pipeline-install-config
127+
- name: DBCONFIG_PORT
128+
valueFrom:
129+
configMapKeyRef:
130+
key: dbPort
131+
name: pipeline-install-config
132+
- name: DBCONFIG_CONMAXLIFETIME
133+
valueFrom:
134+
configMapKeyRef:
135+
key: ConMaxLifeTime
136+
name: pipeline-install-config
137+
- name: DB_DRIVER_NAME
138+
valueFrom:
139+
configMapKeyRef:
140+
key: dbType
141+
name: pipeline-install-config
142+
- name: DBCONFIG_MYSQLCONFIG_USER
143+
valueFrom:
144+
secretKeyRef:
145+
key: username
146+
name: mysql-secret
147+
- name: DBCONFIG_MYSQLCONFIG_PASSWORD
148+
valueFrom:
149+
secretKeyRef:
150+
key: password
151+
name: mysql-secret
152+
- name: DBCONFIG_MYSQLCONFIG_DBNAME
153+
valueFrom:
154+
configMapKeyRef:
155+
key: pipelineDb
156+
name: pipeline-install-config
157+
- name: DBCONFIG_MYSQLCONFIG_HOST
158+
valueFrom:
159+
configMapKeyRef:
160+
key: mysqlHost
161+
name: pipeline-install-config
162+
- name: DBCONFIG_MYSQLCONFIG_PORT
163+
valueFrom:
164+
configMapKeyRef:
165+
key: mysqlPort
166+
name: pipeline-install-config
167+
- name: OBJECTSTORECONFIG_ACCESSKEY
168+
valueFrom:
169+
secretKeyRef:
170+
key: accesskey
171+
name: mlpipeline-minio-artifact
172+
- name: OBJECTSTORECONFIG_SECRETACCESSKEY
173+
valueFrom:
174+
secretKeyRef:
175+
key: secretkey
176+
name: mlpipeline-minio-artifact
177+
image: kind-registry:5000/apiserver:latest
178+
imagePullPolicy: IfNotPresent
179+
livenessProbe:
180+
exec:
181+
command:
182+
- wget
183+
- -q
184+
- -S
185+
- -O
186+
- '-'
187+
- http://localhost:8888/apis/v1beta1/healthz
188+
initialDelaySeconds: 3
189+
periodSeconds: 5
190+
timeoutSeconds: 2
191+
name: ml-pipeline-api-server
192+
ports:
193+
- containerPort: 8888
194+
name: http
195+
- containerPort: 8887
196+
name: grpc
197+
readinessProbe:
198+
exec:
199+
command:
200+
- wget
201+
- -q
202+
- -S
203+
- -O
204+
- '-'
205+
- http://localhost:8888/apis/v1beta1/healthz
206+
initialDelaySeconds: 3
207+
periodSeconds: 5
208+
timeoutSeconds: 2
209+
resources:
210+
requests:
211+
cpu: 250m
212+
memory: 500Mi
213+
securityContext:
214+
allowPrivilegeEscalation: false
215+
capabilities:
216+
drop:
217+
- ALL
218+
runAsGroup: 0
219+
runAsNonRoot: true
220+
runAsUser: 1000
221+
startupProbe:
222+
exec:
223+
command:
224+
- wget
225+
- -q
226+
- -S
227+
- -O
228+
- '-'
229+
- http://localhost:8888/apis/v1beta1/healthz
230+
failureThreshold: 12
231+
periodSeconds: 5
232+
timeoutSeconds: 2
233+
securityContext:
234+
seccompProfile:
235+
type: RuntimeDefault
236+
serviceAccountName: ml-pipeline
237+
```

0 commit comments

Comments
 (0)