容器服务支持金山云裸金属服务器作为集群中的节点。容器直接运行于高性能裸金属服务器上,无虚拟化性能损失,将为您带来更强劲的性能体验。
使用前须知
金山云容器服务暂不负责裸金属服务器的创建,裸金属服务器仅支持在容器集群创建完成后移入到集群,您需要在裸金属服务器控制台提前创建相应的裸金属服务器实例。
支持任意裸金属服务器机型。
裸金属服务器需要安装容器的Agent。
关于裸金属服务器安装容器Agent的问题
在创建裸金属服务器时,需要用户安装容器Agent。安装了容器Agent的裸金属服务器允许添加到容器集群;若该裸金属服务器没有安装容器Agent,则不允许添加到容器集群。
由于Kubernetes以及Docker软件对于镜像内核版本的要求,我们仅支持使用以下镜像开机的裸金属服务器安装容器的Agent:
标准镜像:
CentOS-7.3及以上
Ubuntu-18.04
用户自定义的镜像
对于自定义镜像,目前我们默认不支持安装容器的Agent,如您有使用自定义镜像需求,可以提工单进行申请,提供自定义镜像的相关信息,容器业务线会对此自定义镜像进行校验。若满足Kubernetes等相关的要求,则会为您配置支持安装容器Agent的选项。
使用流程
创建裸金属服务器主机
点击新建裸金属服务器,进入创建裸金属服务器的流程。
在设置基本信息流程中,勾选安装容器的Agent,如下图:
备注
裸金属服务器必须与集群在同一VPC。
选择安装容器Agent。
添加裸金属服务器至集群
在左侧导航栏中,选择集群,进入集群管理页面。
选择需要添加裸金属服务器的集群ID,进入该集群操作页面。
选择节点管理 > 节点,进入节点列表页。
单击添加裸金属服务器节点,进入添加裸金属服务器节点页面。
根据以下提示进行配置,配置完成后点击添加至集群,即可完成节点的添加。
容器存储目录:按需选择是否自定义容器和镜像存储目录,建议存储到数据盘,如不设置,默认为/data/docker。
高级配置(可选):按需配置以下信息:
部署前执行脚本:指定自定义数据来配置Node,即当节点部署前执行的命令脚本,需要自行保证脚本的可重入及重试逻辑, 脚本及其生成的日志文件可在节点的/usr/local/ksyun/kce/pre_userscript路径查看。
部署后执行脚本:指定自定义数据来配置Node,即当节点部署后执行的命令脚本,需要自行保证脚本的可重入及重试逻辑, 脚本及其生成的日志文件可在节点的/usr/local/ksyun/kce/userscript路径查看。
封锁:根据需求勾选是否封锁worker节点,封锁worker节点后,将不接受新的Pod调度到该节点,若需重新调度,则要手动取消封锁的节点。更多操作请见详情。
Label:根据需求进行Label自定义设置。
选择对应的裸金属服务器。
需要注意的是,裸金属服务器必须同时满足以下条件才能移入集群:
裸金属服务器使用安装了容器的agent。
裸金属服务器的状态为运行中。
裸金属服务器与集群在同一个VPC内。
裸金属服务器所在裸金属服务器子网具有公网类型的NAT。
裸金属服务器没有被添加至其他集群。
从集群中移出裸金属服务器节点
我们支持从集群中移出裸金属服务器。 进入节点列表页面,选择需要移出的裸金属服务器节点,点击【移出节点】即可节点的移出操作。
说明
在移出节点的过程中,会卸载该节点上k8s相关的组件,约1min内生效,请不要重复进行移出操作。
裸金属服务器节点仅会被移出集群,不会进行销毁。如需要销毁该裸金属服务器,请在裸金属服务器控制台操作。
移出集群的裸金属服务器支持再次移入集群。
GPU裸金属服务器支持
本期我们支持NVIDIA GPU和寒武纪
NVIDIA GPU
启动Kubernetes对NVIDIA GPU的支持需要GPU预装英伟达的驱动和CUDA,我们推荐您在移入GPU裸金属服务器到k8s集群前,提前预装以上软件。
说明
创建NVIDIA GPU时,您需要安装容器Agent。
若您的GPU裸金属服务器没有预装以上软件,我们会在移入集群的过程中为您默认安装英伟达驱动和CUDA(版本10.1),安装过程中会自动重启GPU裸金属服务器。
寒武纪
Cambricon Kubernetes Device Plugin 是基于 Kubernetes 在 1.8 版本后推出的 device plugin 架构,它可以在不改变 Kubernetes 源代码的情况下,通过在裸机中部署设备插 件或作为 deamonset 运行来管理 MLU 资源,实现了自动向集群上报 MLU100 设备数目、 追踪 MLU100 设备健康状况和 运行 MLU 使能的容器等功能。
说明
仅支持Kubernetes 1.8以上版本的集群。
用户创建寒武纪主机&选装容器标准组件后,执行移入k8s集群操作,由容器业务线安装寒武纪驱动等相关软件(此过程不需要重启实例),支持Kubernetes调度。