как установить kubeflow на существующий локальный кластер Kubernetes

Я устанавливаю kubeflow на кластер kubernetes через развертывание Kubeflow с помощью kfctl_k8s_istio, и он дает ошибку ниже.

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 POD не запускаются и выдают ошибку ниже на панели инструментов Kubernetes.

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

Пожалуйста Поддержи.


person vishal sharma    schedule 02.11.2020    source источник
comment
Какая у вас инфраструктура? Какая у вас версия k8s? Вы видели эту проблему с github?   -  person Jakub    schedule 02.11.2020


Ответы (1)


Проблема

Почему мы видим эту ошибку?

"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

По этому поводу есть связанная проблема с github.


Если вы используете microk8s

Вы можете попробовать изменить эти 2 строки на / var / snap / microk8s / current / args / kube-apiserver, как упоминалось здесь, автор: @tomalbrecht.

--service-account-signing-key-file=${SNAP_DATA}/certs/serviceaccount.key
--service-account-issuer=kubernetes.default.svc

По этому поводу есть связанная проблема с github.


Если вы используете kubeadm

Вы можете попробовать с помощью этого.

person Jakub    schedule 09.11.2020