Примечание. Минимальная спецификация машины: 8C16G; версия kubectl должна быть 1.24, если вы уже устанавливали KS, необходимо предварительно очистить среду;
Скачать KubeKey
1 2 | export KKZONE=cn curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.2 sh - |
---|
Если он был установлен на машине ранее KubeSphere или KubeSphere Версия слишком высокая , Сначала удалите KubeSphere,k8s Версия слишком Есть проблема с высоким,вызовет некоторые CRD Не могу установить
1 | ./kk delete cluster |
---|
Очистите kubeconfig, иначе другие узлы не смогут использовать kubectl.
1 | rm -rf /root/.kube/config |
---|
Установите версию 1.22 k8s
1 | ./kk create cluster --with-kubernetes v1.22.12 --with-kubesphere v3.3.1 |
---|
Подробные инструкции по установке см. KubeSphere Официальная документация
Скачать исходный код Cube-Studio
1 | git clone https://github.com/tencentmusic/cube-studio.git |
---|
Установить
Скопируйте файл kubeconfig кластера k8s в файл install/kubernetes/config, а затем выполните следующую команду, где xx.xx.xx.xx — IP-адрес интрасети машины.
1 2 3 4 | cp $HOME/.kube/config install/kubernetes/config # Выполнить на рабочей машине k8s ш start.sh xx.xx.xx.xx |
---|
Если версия Kubectl слишком низкая, при развертывании CRD может появиться сообщение об ошибке, что приведет к неудачному созданию svc в системе istio.
1 2 3 | customresourcedefinition.apiextensions.k8s.io/applications.app.k8s.io condition met error: json: cannot unmarshal object into Go struct field Kustomization.patchesStrategicMerge of type patch.StrategicMerge error: rawResources failed to read Resources: Load from path ../../base failed: '../../base' must be a file (got d='/home/zjlab/zyg/cube-studio-master/install/kubernetes/kubeflow/train-operator/manifests/base') |
---|
Kubesphere из kubectl По умолчанию в /usr/local/bin/kubectl
В каталоге Cube-Studio из kubectl По умолчанию в /usr/bin
под
1 | cp /usr/bin/kubectl /usr/local/bin/ |
---|
Просмотр тегов узла
1 | kubectl get nodes --show-labels |
---|
Если обнаружено, что метка mysql=true отсутствует, повторно выполните команду маркировки.
1 | kubectl label node $node train=true cpu=true notebook=true service=true org=public istio=true knative=true kubeflow=true kubeflow-dashboard=true mysql=true redis=true monitoring=true logging=true --overwrite |
---|
Если MySQL сообщает об ошибке:
1 | Warning Failed 34s kubelet Failed to pull image "busybox": rpc error: code = Unknown desc = Error response from daemon: Head "https://registry-1.docker.io/v2/library/busybox/manifests/latest": unauthorized: incorrect username or password |
---|
нуждаться docker login ,Затемdocker pull busybox
Ручная тяга
kubectl get pv infra-mysql-pv
Проверьте статус PV и добавьте его, если он не привязан. storageClassName: local
и т. д. поля
kubectl edit pv infra-mysql-pv
1 2 3 4 5 6 | claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: infra-mysql-pvc namespace: infra storageClassName: local |
---|
kubectl edit deploy -n infra mysql
настраивать replicas=0
тогда приберись /data/k8s/infra/mysql
Остаточные данные (используйте с осторожностью!!!)
наконец replicas=1 Сиди и жди infra Пространство имен подиз pod Все running
kubectl edit configmap kubernetes-config -n infra
kubectl edit configmap kubernetes-config -n pipelinekubectl edit configmap kubernetes-config -n katib
1 2 3 4 5 6 7 8 | имя: гавань доменное имя: http://10.100.29.41:30080/ имя пользователя: администратор k8s хабсекрет: zjflab |
---|
в k8s HubSecret из команды создания:
1 2 3 4 5 6 | kubectl create secret docker-registry zjflab \ --docker-server=10.100.29.41:30080 \ --docker-username=admin \ --docker-password=Harbor12345 \ --docker-email=zhuyaguang1368@163.com \ --namespace="pipeline" |
---|
настройкизеркалоиз склада, полное наименование и номер версии.
Вы можете построить его на основе среды разработки существования, а затем загрузить в начальство Harbour.
Заполните изображение, имя задачи и команду запуска.
Ярлык
1 | kubectl label node worker-1 gpu=true gpu-type=V100 --overwrite |
---|
Harborсуществовать Проволока Установить:3минут опытаHarbor!
How to install and use VMware Harbor private registry with Kubernetes
Pull an Image from a Private Registry
существовать развертыватьхорошийиз Harbor Добавить HTTPS Конфигурация сертификата
harborзеркалосклад-httpsдоступиз Конфигурация сертификата
x509: cannot validate certificate for 10.30.0.163 because it doesn’t contain any IP SANs
наконец Docker login $harborIP, просто docker pull Вытащить сервис.
Мониторинг с помощью kubesphere
Удалить Cube Studio
1 2 3 4 5 | kubectl delete configmap grafana-config all-grafana-dashboards --namespace=monitoring kubectl delete -f ./grafana/grafana-dp.yml kubectl delete -f ./prometheus/prometheus-main.yml kubectl delete -f ./operator/operator-crd.yml |
---|