代码拉取完成,页面将自动刷新
[TOC]
Prophecis 使用helm
来进行kubernetes
包管理,主要安装文件位于install目录下。install目录包含了三个组件notebook-controller
, MinioDeployment
, Prophecis
,主体为Prophecis
。使用前,需要初始化MySQL数据库,并挂载NFS目录来存储数据。
软件 | 版本 | 位置 |
---|---|---|
Helm | 3.2.1 | https://github.com/helm/helm/releases |
Kubenertes | 1.18.6 | https://github.com/kubernetes/kubernetes |
Docker | 19.03.9 | https://www.docker.com/ |
Istio | 1.8.2 | https://github.com/istio/istio |
Seldon Core | 1.13.0 | https://github.com/SeldonIO/seldon-core |
nfs-utils | 1.3.0 |
#下载
wget https://get.helm.sh/helm-v3.2.1-linux-amd64.tar.gz
#安装
tar -xzvf helm-v3.2.1-linux-amd64.tar.gz
cd linux-amd64/
mv helm /usr/bin/
#验证helm版本
helm version
#修改库源
helm repo add aliyuncs https://apphub.aliyuncs.com
helm repo list
#修改k8s配置
vim /etc/kubernetes/manifests/kube-apiserver.yaml
#spec:
# containers:
# - command:
# 中,增加如下配置项
- --service-node-port-range=30000-40000
vim /root/.docker/config.json
#增加如下配置
{
"auths": {
"": {
"auth": ""
}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/20.10.8-ce (linux)"
}
}
#下载
wget https://github.com/istio/istio/releases/download/1.8.2/istio-1.8.2-linux-amd64.tar.gz
#设置istioctl环境变量
export PATH=$PATH:/opt/istio-1.8.2/bin
#部署
istioctl install
#验证,查看相关Pod是否正常Running
kubectl -n istio-system get pods
#下载
wget https://github.com/SeldonIO/seldon-core/archive/refs/tags/v1.13.0.tar.gz
#部署
kubeclt create namespace seldon-system
cd seldon-core-1.13.0/helm-charts
helm install seldon-core seldon-core-operator --set usageMetrics.enabled=true --namespace seldon-system --set istio.enabled=true
#验证
kubectl -n seldon-system get pods
Prophecis使用nfs来存储容器运行数据,需要挂载nfs
# NFS服务节点IP地址 NFS_SERVER_IP='127.0.0.1'
# NFS挂载目录 NFS_PATH_LOG='/mlss/di/jobs/prophecis'
#
# 需要挂载的目录
# /data/bdap-ss/mlss-data/tmp
# /mlss/di/jobs/prophecis
# /cosdata/mlss-test
mkdir -p ${NFS_PATH_LOG}
# 追加写入到文件中,标明挂载信息
echo "${NFS_PATH_LOG} ${NFS_SERVER_IP}/24(rw,sync,no_root_squash)">> /etc/exports
# 刷新nfs,让服务节点使用该nfs挂载
exportfs -arv
# 需要对除Master节点外的其他节点执行挂载
mkdir -p ${NFS_PATH_LOG}
# 挂载目录
mount ${NFS_SERVER_IP}:${NFS_PATH_LOG} ${NFS_PATH_LOG}
./install/prophecis/values.yaml
中的信息。## 配置数据库访问的信息
# MySQLIP地址 DATABASE_IP='127.0.0.1'
# MySQL端口号 DATABASE_PORT='3306'
# MySQL数据库名 DATABASE_DB='mlss_db'
# MySQL用户名 DATABASE_USERNAME='mlss'
# MySQL用户密码 DATABASE_PASSWORD='123'
db:
server: ${DATABASE_IP}
port: ${DATABASE_PORT}
name: ${DATABASE_DB}
user: ${DATABASE_USERNAME}
pwd: ${DATABASE_PASSWORD}
## 配置UI的URL访问路径
# 网页访问地址 SERVER_IP='127.0.0.1'
# 网页访问端口 SERVER_PORT='30803'
gateway:
address: ${SERVER_IP}
port: ${SERVER_PORT}
## Prophecis使用LDAP来负责统一认证
# LDAP的服务地址 LDAP_ADDRESS='ldap://127.0.0.1:1389/'
# LDAP的DNS解析地址 LDAP_BASE_DN='dc=prophecis,dc=com'
cc:
ldap:
address: ${LDAP_ADDRESS}
baseDN: ${LDAP_BASE_DN}
#超级管理员的用户名密码,可以改成自己需要的,需对应数据库表t_superadmin
admin:
user: ${SUPER_USER}
password: ${SUPER_USER_PASSWORD}
需要在MySQL命令行内载入文件
在数据库内执行./cc/sql
下的SQL
文件prophecis.sql
和prophecis-data.sql
,需要使用SQL脚本来创建表结构和初始数据
source prophecis.sql
source prophecis-data.sql
Prophecis部署需要三个组件notebook-controller
,MinioDeployment
,Prophecis
。
部署执行目录为./install
目录下。
## Prophecis默认使用kubernetes的命名空间prophecis,需要创建
kubectl create namespace prophecis
## Prophecis使用kubernetes的节点标签来启动节点,并识别用途
# 服务节点的标签 LABEL_CPU='mlsskf010001 mlsskf010002'
# GPU节点的标签 LABEL_GPU='mlsskf010003 mlsskf010004'
kubectl label nodes ${LABEL_CPU} mlss-node-role=platform
kubectl label nodes ${LABEL_GPU} hardware-type=NVIDIAGPU
## 安装Notebook Controller组件
helm install notebook-controller ./notebook-controller
## 安装MinIO组件
helm install minio-prophecis --namespace prophecis ./MinioDeployment
## 安装prophecis组件
helm install prophecis ./Prophecis
#sql目录
source mlflow-sql.sql
#sql目录
source mlss-sql.sql
kubectl get -n prophecis pod
查看所有服务是否正常Running
,若异常通过kubectl describe
及kubectl log
查看异常原因http://${CLUSTER_IP}:30803
,默认账号为admin
,密码admin
。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。