工作节点操作
请参见视频流引擎获取DemoVideoEngine.tar.gz软件包,获取后将软件包上传至服务器的“/home/k8s”目录。
- 生成binder设备。
cd /home/k8s tar -xvf DemoVideoEngine.tar.gz cd /home/k8s/k8s/DevicesPlugin chmod +x create_binder.sh
请参照软件部署章节,将“/home/kbox_video/Kbox-AOSP11/deploy_scripts/bin”目录拷贝至“/home/kbox_video/”目录下,然后执行create_binder.sh脚本。
cp -rf /home/kbox_video/Kbox-AOSP11/deploy_scripts/bin /home/kbox_video/ ./create_binder.sh /home/kbox_video/bin
- 容器存储隔离和大小设置。该步骤服务器重启后需重新执行。
cd /home/k8s/k8s/DevicesPlugin chmod +x storage_manager.sh ./storage_manager.sh $ACTION $STORAGE_NUM $STORAGE_SIZE_GB $IMG_BASE
命令参数说明如表1所示。
表1 容器存储隔离和大小设置参数说明 参数
说明
ACTION
参数值为create或delete,创建或者删除。
STORAGE_NUM
数据卷数量。根据所需容器所需数量设置。
STORAGE_SIZE_GB
存储大小,单位为GB。删除时可不传。
IMG_BASE
基础数据卷img文件,若无基础数据卷可不传,基础数据卷img文件制作请参考制作基础数据卷。删除时可不传。参数STORAGE_SIZE_GB和IMG_BASE只传其中一个。
例如:
- 创建100个存储大小为32GB的存储隔离数据卷。名称为video1~video100。
./storage_manager.sh create 100 32
- 如果在此基础上,要增加20个存储大小为32GB的存储隔离数据卷。名称为video101~video120。
./storage_manager.sh create 120 32
- 删除名称为video1~video100数据卷。
./storage_manager.sh delete 100
- 如果在此基础上,要删除名称为video101~video120这剩余20个数据卷
./storage_manager.sh delete 120
- 通过videobase.img为基础制作名为video1~video100的数据卷。
./storage_manager.sh create 100 /home/mount/img/videobase.img
若已执行该步骤命令,重新修改存储大小时需先删除所有数据卷后再重新创建。
- 创建100个存储大小为32GB的存储隔离数据卷。名称为video1~video100。
- 执行在master初始化成功时保存的图1红框中加入集群的token命令。
例如:
kubeadm join 10.44.104.208:6443 --token 7h0hpd.1av4cdcb4fb0on5x \ --discovery-token-ca-cert-hash sha256:357c6d1dbefe6f7adf3c80987a90d3765965b1c43e1757b655ea8586c8ade10a
- 工作节点重启后,重新加入集群时,需保证此工作节点可运行视频流云手机。
- 加入集群的token命令若失效可重新在master节点执行如下命令重新生成。
kubeadm token create --print-join-command
- 查看集群状态。
- 需在master节点查看状态。
kubectl get nodes -A -o wide
期望是此工作节点的状态(STATUS)列是Ready,运行时(CONTAINER-RUNTIME)列是containerd://x.x.x。
- 需在master节点查看pod状态。
kubectl get pod -A -o wide
期望是此工作节点上的pod的状态(STATUS)列都是Running。
- 在此工作节点查看容器状态。
crictl ps
期望是所有的容器状态(STATE)列都是Running。
- 需在master节点查看状态。
- (可选)配置NUMA亲和。为保证性能,需保证CPU和道客设备NUMA亲和。
- 停止kubelet。
systemctl stop kubelet
- 删除旧的CPU管理状态文件,该文件的路径默认为“/var/lib/kubelet/cpu_manager_state”。
rm -rf /var/lib/kubelet/cpu_manager_state
- 修改kubelet的配置文件config.yaml。
vi /var/lib/kubelet/config.yaml
- 按“i”键进入编辑模式,在文件末尾添加如下配置。配置参数说明如表2所示。
cpuManagerPolicy: "static" topologyManagerPolicy: "single-numa-node" reservedSystemCPUs: "0,1,32,33,64,65,96,97"
- 按“Esc”键,输入:wq!并按“Enter”键保存并退出编辑。
- 重新启动kubelet并查看kubelet状态。
systemctl start kubelet systemctl status kubelet
- 停止kubelet。
父主题: 搭建K8s集群