Jupyter notebook 如何在prem kubernetes群集上的现有服务器上安装kubeflow

Jupyter notebook 如何在prem kubernetes群集上的现有服务器上安装kubeflow,jupyter-notebook,istio,kubernetes-pod,kubeflow,kubeflow-pipelines,Jupyter Notebook,Istio,Kubernetes Pod,Kubeflow,Kubeflow Pipelines,我正在kubernetes集群上通过“kfctl_k8s_istio的kubeflow部署”安装kubeflow 它给出了下面的错误 WARN[0303] Encountered error applying application kubeflow-apps: (kubeflow.error): Code 500 with message: Apply.Run : error when creating "/tmp/kout497340857": CustomResour

我正在kubernetes集群上通过“kfctl_k8s_istio的kubeflow部署”安装kubeflow 它给出了下面的错误

WARN[0303] Encountered error applying application kubeflow-apps:  (kubeflow.error): Code 500 with message: Apply.Run : error when creating "/tmp/kout497340857": CustomResourceDefinition.apiextensions.k8s.io "seldondeployments.machinelearning.seldon.io" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[predictors].items.properties[componentSpecs].items.properties[spec].properties[containers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[predictors].items.properties[componentSpecs].items.properties[spec].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[predictors].items.properties[explainer].properties[containerSpec].properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property]  filename="kustomize/kustomize.go:266"
一些Istio吊舱没有启动,kubernetes仪表板上出现以下错误

"MountVolume.SetUp failed for volume "istio-token" : failed to fetch token: the API server does not have TokenRequest endpoints enabled"
请支持。

问题 为什么我们会看到这个错误

"MountVolume.SetUp failed for volume "istio-token" : failed to fetch token: the API server does not have TokenRequest endpoints enabled"
如上所述

要使用Istio控制平面进行身份验证,Istio代理将使用服务帐户令牌。Kubernetes支持两种形式的代币:

  • 第三方令牌,具有作用域访问群体和过期时间
  • 第一方代币,无过期,并装入所有吊舱
由于第一方令牌的属性不太安全,Istio将默认使用第三方令牌。但是,并非所有Kubernetes平台都启用此功能

虽然大多数云提供商现在都支持此功能,但许多本地开发工具和自定义安装可能不支持


解决方案 如果您使用minikube

您可以使用
values.global.jwtPolicy

istioctl manifest generate --set profile=demo --set values.global.jwtPolicy=first-party-jwt
这是有关联的


如果您使用microk8s

您可以尝试将这两行更改为@tomalbrecht提到的/var/snap/microk8s/current/args/kube-apiserver

--service-account-signing-key-file=${SNAP_DATA}/certs/serviceaccount.key
--service-account-issuer=kubernetes.default.svc
这是有关联的


如果您使用kubeadm


您可以试试。

您的基础架构是什么?你的k8s版本是什么?你看到了吗?