Katib: Failed calling webhook when running random example experiment

Created on 20 Apr 2020  路  8Comments  路  Source: kubeflow/katib

Hi there,

my Katib failed to submit the the random algorithm example https://github.com/kubeflow/katib/blob/master/examples/v1alpha3/random-example.yaml:

Internal error occurred: 
failed calling webhook "mutating.experiment.katib.kubeflow.org": 
Post https://katib-controller.kubeflow.svc:443/mutate-experiments?timeout=30s: 
ssh: rejected: connect failed (Connection refused)

The same experiment worked just fine before several days and I didn't change anything. All deployments kati-controller, katib-db-manager etc. are in healthy states. Any ideas what is going wrong here?

Thanks.

Environment:

  • Kubeflow version: v1.0
  • Kubernetes version: (use kubectl version):
Server Version: version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.10-gke.27", 
GitCommit:"145f9e21a4515947d6fb10819e5a336aff1b6959", GitTreeState:"clean", BuildDate:"2020-02-21T18:01:40Z", GoVersion:"go1.12.12b4", Compiler:"gc", Platform:"linux/amd64"}
kinbug

All 8 comments

Issue-Label Bot is automatically applying the labels:

| Label | Probability |
| ------------- | ------------- |
| bug | 0.61 |

Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!
Links: app homepage, dashboard and code for this bot.

Can you check your webhook status?
kubectl get MutatingWebhookConfiguration

Hi @andreyvelich , thanks for your reply.

The katib-mutating-webhook-config is listed in Webhook configurations:

kubectl get MutatingWebhookConfiguration

NAME                                                 CREATED AT
admission-webhook-mutating-webhook-configuration     2020-03-08T16:34:33Z
cert-manager-webhook                                 2020-03-08T16:32:44Z
inferenceservice.serving.kubeflow.org                2020-03-08T16:36:05Z
istio-sidecar-injector                               2020-03-08T16:32:21Z
katib-mutating-webhook-config                        2020-03-08T16:37:42Z
pod-ready.config.common-webhooks.networking.gke.io   2020-03-08T16:30:29Z
seldon-mutating-webhook-configuration-kubeflow       2020-03-08T16:35:22Z
webhook.serving.knative.dev                          2020-03-08T16:34:45Z

Below the yaml file:

apiVersion: admissionregistration.k8s.io/v1beta1
kind: MutatingWebhookConfiguration
metadata:
  generation: 1
  name: katib-mutating-webhook-config
  resourceVersion: "5990"
  selfLink: /apis/admissionregistration.k8s.io/v1beta1/mutatingwebhookconfigurations/katib-mutating-webhook-config
  uid: [ID]
webhooks:
- admissionReviewVersions:
  - v1beta1
  clientConfig:
    caBundle: [Certificat]
    service:
      name: katib-controller
      namespace: kubeflow
      path: /mutate-experiments
  failurePolicy: Fail
  name: mutating.experiment.katib.kubeflow.org
  namespaceSelector:
    matchExpressions:
    - key: control-plane
      operator: DoesNotExist
  rules:
  - apiGroups:
    - kubeflow.org
    apiVersions:
    - v1alpha3
    operations:
    - CREATE
    - UPDATE
    resources:
    - experiments
    scope: '*'
  sideEffects: Unknown
  timeoutSeconds: 30
- admissionReviewVersions:
  - v1beta1
  clientConfig:
    caBundle: [Certificat]
    service:
      name: katib-controller
      namespace: kubeflow
      path: /mutate-pods
  failurePolicy: Ignore
  name: mutating.pod.katib.kubeflow.org
  namespaceSelector:
    matchLabels:
      katib-metricscollector-injection: enabled
  rules:
  - apiGroups:
    - ""
    apiVersions:
    - v1
    operations:
    - CREATE
    resources:
    - pods
    scope: '*'
  sideEffects: Unknown
  timeoutSeconds: 30

Thanks for your help!

Can you describe your Kubeflow namespace, check it you have label katib-metricscollector-injection=enabled there?
Also, where did you see this error, that you showed above?

If it doesn't help, try to reinstall Katib deployment.
You can use this script: https://github.com/kubeflow/katib/blob/master/scripts/v1alpha3/deploy.sh to install Katib.
This will delete validating and mutating webhook.
Katib controller will create new, when you deploy it.

Hi @andreyvelich , I re-deployed Katib and now it works fine. Thanks a lot for your help!

The error was occurred as a pop-out on top of the page, when I tried to submit the experiment yaml file. I also checked the kubeflow namespace and katib-metricscollector was injected:

kubectl describe namespace kubeflow
Name:         kubeflow
Labels:       control-plane=kubeflow
              katib-metricscollector-injection=enabled

Any ideas what may cause this happen?

@Felihong Maybe on your cluster you somehow modified this webhook.
How did you install Kubeflow?

@andreyvelich actually not that I remember :(

My kubeflow cluster is hosted on GCP and I deployed v1.0 using the official config URL https://raw.githubusercontent.com/kubeflow/manifests/v1.0-branch/kfdef/kfctl_gcp_iap.v1.0.0.yaml

@Felihong Ok, if you have this problem again, let me know.

Was this page helpful?
0 / 5 - 0 ratings