Попытка реализовать Jupyterhub на Кубернетес - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь внедрить Jupyterhub на набор из 8 некластеризованных полностью идентичных компьютеров в моей школе. Сначала я поручил кластеризовать 8 систем (все работают под управлением Ubuntu 18.04 LTS) и внедрить Jupyterhub в этом кластере.

После поиска в сети вот те инструкции, которым я следовал-

  1. Установлен докер в обеих системах с помощью этой инструкции
  2. (пробовал) Реализовал кластер Kubernetes, используя эту инструкцию и эту
  3. Реализация Jupyterhub с использованием нулевого-jupyterhub инструкции

Используя инструкции, мне уже удалось выполнить шаги 1 и 2. Но после установки helm с использованием инструкций zero-to-jupyterhub я наткнулся на ошибку при выполнении шага 2 раздела Установка Jupyterhub на этой веб-странице .

Моя точная ошибка:

Error: Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps?labelSelector=NAME%D(MISSING)jhub%!(MISSING)OWNER%D(MISSING)TILLER%!D(MISSING)DEPLOYED: dial tcp 10.96.0.1:443: i/o timeout
Error: UPGRADE FAILED : Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps?labelSelector=NAME%D(MISSING)jhub%!(MISSING)OWNER%D(MISSING)TILLER%!D(MISSING)DEPLOYED: dial tcp 10.96.0.1:443: i/o timeout

тогда, когда я просматриваю ссылку, я получаю это: [https://10.96.0.1:443/api/v1/namespaces/...]

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {

  },
  "status": "Failure",
  "message": "configmaps is forbidden: User \"system:anonymous\" cannot list resource \"configmaps\" in API group \"\" in the namespace \"kube-system\"",
  "reason": "Forbidden",
  "details": {
    "kind": "configmaps"
  },
  "code": 403
}

Кто-нибудь сталкивался с этой проблемой? Что ты сделал? Спасибо за всех, кто ответит ...

Кроме того, не стесняйтесь говорить мне, что я ошибаюсь в реализации, так как я открыт для новых идей. Если у вас есть какой-либо способ лучше, пожалуйста, оставьте инструкции по его реализации. Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

У меня возникла точно такая же проблема, когда я обновил свой миникуб.В моем случае мне пришлось удалить кластер и снова запустить его - оттуда все работало нормально.

В вашем случае кажется, что запросы от Tiller заблокированы и они не могут получить доступ к API.В случае вашего нового кластера, я думаю, что проблема может быть в неправильной конфигурации CNI, но для подтверждения того, что вам нужно будет добавить информацию о том, какой CNI вы использовали, и если вы использовали флаг --pod-network-cidr= или любые другие шаги, которые могли бы закончитьсяконфликт или блокировка запросов Tiller.

Перед добавлением этой информации я могу только рекомендовать выполнить:

kubeadm reset

. Предположим, вы хотите использовать Calico:

kubeadm init --pod-network-cidr=192.168.0.0/16

kubectl apply -f https://docs.projectcalico.org/v3.2/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
kubectl apply -f https://docs.projectcalico.org/v3.2/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml`

Install Helm:

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
chmod 700 get_helm.sh
./get_helm.sh
kubectl create serviceaccount tiller --namespace kube-system
kubectl create clusterrolebinding tiller-cluster-rule \
 --clusterrole=cluster-admin \
 --serviceaccount=kube-system:tiller
helm init --service-account=tiller

Теперь следуйте учебному руководству Jupyter Hub: создайте config.yaml, как описано здесь .И установите JupyterHub:

helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
helm repo update
RELEASE=jhub
NAMESPACE=jhub

helm upgrade --install $RELEASE jupyterhub/jupyterhub \
  --namespace $NAMESPACE  \
  --version=0.8.0 \
  --values config.yaml
0 голосов
/ 13 марта 2019

Похоже, что вы включили RBAC и пытаетесь получить доступ к ресурсам, доступ к которым не разрешен из вашей учетной записи.

Следовали ли вы инструкциям по настройке руля / румпеля?Должны быть две команды, которые создадут правильные разрешения для развертывания JupyterHub:

kubectl --namespace kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller

Надеюсь, это поможет!

...