kubernetes集群使用GPU及安装kubeflow1.0.RC

本文详述了在Kubernetes集群中安装和配置GPU的过程,包括驱动、CUDA、NVIDIA-DOCKER等关键组件的设置。同时,深入介绍了如何安装和配置KubeFlow 1.0.RC版本,涵盖各种服务、控制器、存储类和PV/PVC的创建,以及通过NFS实现文件存储。

kubernetes集群使用GPU及安装kubeflow1.0.RC操作步骤

安装显卡驱动

安装CUDA
sudo yum-config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms cuda
sudo yum -y install cuda-drivers

如缺少gcc依赖,则实行如下命令

  yum install kernel-devel kernel-doc kernel-headers gcc\* glibc\*  glibc-\*
安装nvidia驱动
 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
 rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
 yum install -y kmod-nvidia
禁用nouvean
###在GRUB_CMDLINE_LINUX添加 rdblacklist=nouveau 项
echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf

重启,查看nouveau是否被禁用成功

lsmod|grep nouv
没有任何输出,则表示nouveau已被禁用

查看服务器显卡信息

[root@master ~]# nvidia-smi
Tue Jan 14 03:46:41 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.44       Driver Version: 440.44       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla T4            Off  | 00000000:18:00.0 Off |                    0 |
| N/A   29C    P8    10W /  70W |      0MiB / 15109MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla T4            Off  | 00000000:86:00.0 Off |                    0 |
| N/A   25C    P8     9W /  70W |      0MiB / 15109MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|============================================================================
<think>好的,我现在需要帮助用户在Kubernetes集群中离线安装Kubeflow Training Operator。首先,我得回忆一下Kubeflow Training Operator的安装步骤,尤其是离线环境下的特殊要求。 用户提到的是离线安装,这意味着他们无法直接通过互联网下载镜像或YAML文件。我需要考虑如何提前准备所需的镜像和文件。首先,Training Operator通常需要几个组件,比如CRD、RBAC配置、控制器镜像等。在离线环境中,这些都需要提前拉取并推送到私有仓库。 接下来,我应该分步骤来回答。第一步可能是准备必要的镜像,比如kubeflow/training-operator镜像,以及相关的依赖镜像,比如数据库或仪表盘。用户需要在有网络的环境中拉取这些镜像,然后打标签并推送到内部仓库,再在离线环境中重新打标签并拉取。 然后是生成YAML文件。可能需要使用Kustomize或者Helm来生成配置文件,但离线环境下可能需要手动调整镜像地址。比如,修改部署文件中的镜像地址为私有仓库的地址。 接下来是安装CRD和RBAC。这部分可能需要先应用CRD文件,然后创建ServiceAccount、Role和RoleBinding,确保Training Operator有足够的权限运行。 安装控制器本身可能需要应用部署文件,比如使用kubectl apply命令。同时,可能还需要配置持久化存储,比如创建PVC,或者调整StorageClass,这取决于用户的离线环境是否有可用的存储类。 另外,可能需要安装其他依赖项,比如MySQL或MinIO,作为后端存储。这些也需要提前准备好镜像和配置文件。 最后,验证安装是否成功,检查Pod状态,创建测试训练作业,确认是否正常运行。 我需要确保每个步骤都详细说明,特别是离线环境下的注意事项,比如镜像的处理和网络隔离的问题。同时,提醒用户注意版本兼容性,比如Kubernetes和Training Operator的版本是否匹配。 可能的常见问题包括镜像拉取失败,权限不足导致RBAC错误,或者存储配置不正确。在相关问题中应该涵盖这些潜在问题,帮助用户排查。 </think>在离线环境中安装 Kubeflow Training Operator 需要预先准备依赖镜像和配置文件。以下是关键步骤: 1. **镜像准备** - 在有网络的机器上拉取以下镜像: ```bash docker pull kubeflow/training-operator:latest docker pull kubeflow/training-operator-ui:latest docker pull mysql:5.7 ``` - 重新打标签并推送到私有仓库(如 Harbor): ```bash docker tag kubeflow/training-operator:latest <私有仓库地址>/training-operator:latest docker push <私有仓库地址>/training-operator:latest ``` 2. **生成 YAMl 文件** - 使用 `kustomize` 生成配置(需提前下载源码): ```bash git clone https://github.com/kubeflow/training-operator cd training-operator/manifests/overlays/standalone kustomize build > training-operator.yaml ``` - 替换 YAML 中的镜像地址为私有仓库地址 3. **安装 CRD 和 RBAC** ```bash kubectl apply -f https://raw.githubusercontent.com/kubeflow/training-operator/master/manifests/crds/v1beta1/tfjob.crd.yaml kubectl create namespace kubeflow kubectl apply -f training-operator.yaml ``` 4. **配置持久化存储(可选)** - 创建 PVC 或配置 StorageClass 以支持训练作业的持久化需求 5. **验证安装** ```bash kubectl get pods -n kubeflow # 创建测试 TFJob kubectl apply -f https://raw.githubusercontent.com/kubeflow/training-operator/master/examples/v1beta1/tfjob-mnist.yaml ```
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值