-
Notifications
You must be signed in to change notification settings - Fork 73
Deployment fails when using Istio 1.14 #43
Copy link
Copy link
Closed
Labels
kind/bugkind - things not working properlykind - things not working properlystatus/wontfixstatus - this will not be worked onstatus - this will not be worked on
Description
Checks
- I have searched the existing issues.
- This issue is NOT specific to the CLI. (If so, please open an issue on the CLI repo)
deployKF Version
0.1.2
Kubernetes Version
Client Version: v1.24.16
Kustomize Version: v4.5.4
Server Version: v1.24.16Description
I tried to deploy Kubeflow using deployKF to cluster with separately installed Istio 1.14.6. According to documentation deployKF should be compatible with version 1.14, but is does not seem to be the case. When applying the generated applications to cluster oauth2-proxy fails to start, istiod logs errors (see logs below). I was able to reproduce the issue in k3s/minikube environment.
With istio 1.15+ everything starts successfully. It seems to me that the issue is with deploykf-istio-gateway--ext-authz-disable EnvoyFilter. It uses envoy.extensions.filters.http.lua.v3.LuaPerRoute, which has been introduced in Envoy 1.15.
Relevant Logs
istiod:
2023-10-26T12:55:59.552785Z warn ads ADS:RDS: ACK ERROR deploykf-gateway-d5b485fb6-pqrk5.deploykf-istio-gateway-1 Internal:Didn't find a registered implementation for name: 'envoy.filters.http.lua.set_userid_header'
deploykf-gateway:
2023-10-26T12:42:01.839962Z warning envoy config gRPC config for type.googleapis.com/envoy.config.route.v3.RouteConfiguration rejected: Didn't find a registered implementation for name: 'envoy.filters.http.lua.set_userid_header'
2023-10-26T12:42:12.341233Z warning envoy config gRPC config for type.googleapis.com/envoy.config.route.v3.RouteConfiguration rejected: Didn't find a registered implementation for name: 'envoy.filters.http.lua.set_userid_header'
2023-10-26T12:55:59.552330Z warning envoy config gRPC config for type.googleapis.com/envoy.config.route.v3.RouteConfiguration rejected: Didn't find a registered implementation for name: 'envoy.filters.http.lua.set_userid_header'
oauth2-proxy:
[2023/10/26 13:05:24] [provider.go:55] Performing OIDC Discovery...
[2023/10/26 13:05:24] [main.go:60] ERROR: Failed to initialise OAuth2 Proxy: error intiailising provider: could not create provider data: error building OIDC ProviderVerifier: could not get verifier builder: error while discovery OIDC configuration: failed to discover OIDC configuration: unexpected status "403": ExtAuthz did not set 'x-auth-request-email' headerdeployKF Values (Optional)
# Basically default values with some components disabled
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: deploykf-app-of-apps
namespace: argocd
labels:
app.kubernetes.io/name: deploykf-app-of-apps
app.kubernetes.io/part-of: deploykf
spec:
project: "default"
source:
repoURL: "https://github.com/deployKF/deployKF.git"
targetRevision: "v0.1.2"
path: "."
plugin:
name: "deploykf"
parameters:
- name: "source_version"
string: "0.1.2"
- name: "values_files"
array:
- "./sample-values.yaml"
- name: "values"
string: |
deploykf_dependencies:
cert_manager:
enabled: true
namespace: cert-manager
clusterIssuer:
enabled: true
issuerName: kf-selfsigned-issuer
istio:
# Istio is deployed externally
enabled: false
namespace: istio-system
kyverno:
enabled: true
namespace: kyverno
deploykf_core:
deploykf_auth:
dex:
staticPasswords:
- email: "admin@example.com"
password:
value: "admin"
- email: "user1@example.com"
password:
value: "user1"
- email: "user2@example.com"
password:
value: "user2"
clients:
oauth2Proxy:
clientId: "oauth2-proxy"
clientSecret:
existingSecret: "generated--dex-oauth2-proxy-client"
existingSecretKey: "client_secret"
generateSecret: true
deploykf_istio_gateway:
namespace: deploykf-istio-gateway
gatewayService.type: "ClusterIP"
charts:
istioGateway:
enabled: true
name: "gateway"
version: "1.14.6"
gateway:
hostname: deploykf.example.com
ports:
http: 8080
https: 8443
tls:
enabled: false
selectorLabels:
app: deploykf-gateway
istio: deploykf-gateway
gatewayDeployment:
serviceAccount:
name: deploykf-gateway
annotations: {}
gatewayService:
name: deploykf-gateway
annotations: {}
type: ClusterIP # Do not expose it at least for now
deploykf_profiles_generator:
profileDefaults:
profileNamePrefix: ""
ownerEmail: "admin@example.com"
memberAccess:
role: view
notebooksAccess: false
plugins: []
tools: {}
users:
- id: user-1
email: "user1@example.com"
- id: user-2
email: "user2@example.com"
groups:
- id: team-1
users:
- user-1
- user-2
profiles:
- name: team-1
members:
- group: team-1
access:
role: edit
notebooksAccess: true
- name: team-1-prod
members:
- group: team-1
access:
role: view
notebooksAccess: false
deploykf_opt:
deploykf_minio:
enabled: false
deploykf_mysql:
enabled: false
kubeflow_dependencies:
kubeflow_argo_workflows:
enabled: false
kubeflow_tools:
katib:
enabled: false
notebooks:
enabled: true
pipelines:
enabled: false
destination:
server: "https://kubernetes.default.svc"
namespace: "argocd"Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
kind/bugkind - things not working properlykind - things not working properlystatus/wontfixstatus - this will not be worked onstatus - this will not be worked on