未能调用webhook“ v1.vseldondeployment.kb.io” x509:证书由未知授权机构签署

问题描述

我正在尝试Seldon Core示例。

这是SeldonExampleDeployment.yaml。

apiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
Metadata:
  name: seldon-model
spec:
  name: test-deployment
  predictors:
  - componentSpecs:
    - spec:
        containers:
        - image: seldonio/mock_classifier_rest:1.3
          name: classifier
          command:
          - --kubelet-insecure-tls
          - --insecure-skip-tls-verify
    graph:
      children: []
      endpoint:
        type: REST
      name: classifier
      type: MODEL
    name: example
    replicas: 1
$ kubectl apply -n seldon -f SeldonExampleDeployment.yaml
Error from server (InternalError): error when creating "SeldonExampleDeployment.yaml": 
Internal error occurred: Failed calling webhook "v1.vseldondeployment.kb.io": 
Post https://seldon-webhook-service.kubeflow.svc:443/validate-machinelearning-seldon-io-v1-seldondeployment?timeout=30s: 
x509: certificate signed by unkNown authority

  • 我使用EKS
  • 我刚刚打开了VPC中的所有流量(入站和出站)

我不知道为什么会发生此错误。 请帮助我...

解决方法

旧情况,但至少可以帮助其他Google员工...

为避免该Webhook部署失败,

  • 首先创建SeldonDeployment
  • 然后在名称空间上启用干扰服务,
  • 最后添加网关
# Create namespace and add a mock classifier REST service
MY_NS=a-namespace
kubectl create namespace $MY_NS
cat <<EOF | kubectl create -n $MY_NS -f -
apiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
metadata:
  name: seldon-model
spec:
  name: test-deployment
  predictors:
  - componentSpecs:
    - spec:
        containers:
        - image: seldonio/mock_classifier_rest:1.3
          name: classifier
    graph:
      children: []
      endpoint:
        type: REST
      name: classifier
      type: MODEL
    name: example
    replicas: 1
EOF

# Enable interferenceservice namespace and add gateway
kubectl label namespace $MY_NS serving.kubeflow.org/inferenceservice=enabled
cat <<EOF | kubectl create -n $MY_NS -f -
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: kubeflow-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - '*'
    port:
      name: http
      number: 80
      protocol: HTTP
EOF

# Test REST service
curl -s -d '{"data": {"ndarray":[[1.0,2.0,5.0]]}}'    -X POST http://localhost:8004/seldon/$MY_NS/seldon-model/api/v1.0/predictions    -H "Content-Type: application/json"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...