如何使用k8s中的容器定制卷

问题描述

我对kubernetes和docker world很陌生。我会尽力描述我的问题。

将基于Linux的应用程序移至Docker映像时无法解决问题

我的应用程序部署在具有多个挂载的linux操作系统上,每个挂载都有一些独特的属性。通常是特定的文件系统类型(class SomeModel with ChangeNotifier { bool _isHighlighted = false; bool get isHighlighted => _isHighlighted; void highlight() { _isHighlighted = ! _isHighlighted; notifyListeners(); } } @override Widget build(BuildContext context) { return Scaffold( body: ListView.builder( itemCount: widget.elements.length,itemBuilder: (context,index) => ChangeNotifierProvider<SomeModel>( create: (_) => SomeModel(),builder: (context,child) => Consumer<SomeModel>( builder: (context,value,child) => FlatButton( color: value.isHighlighted ? Colors.white : Colors.red,child: Text('$index'),onpressed: value.highlight ),),); tmpfsext4xfs等。这些属性可以在mode输出中看到。

在docker中,可以使用nr_inodes创建此类卷,然后在mount时将这些卷安装在特定路径上。这些卷的大部分寿命应以容器本身为结束。

在k8s中,我找不到找到相同级别细节的方法docker volume create ...文件系统可用。但是尚不清楚可以提及哪些其他属性,例如请求/限制大小。另外,我很确定所请求的卷是POD级别的,不能直接分配给容器。 如上所述,替代方法可能是使用docker卷。但是,我不清楚如何初始化它们,并在可能的情况下将它们用作pod生命周期的一部分。

我查看了kubernetes的存储页面,找不到可能有用的东西。

是否有为此目的而使用树外插件的见解?我会错过支持它的kubernetes功能吗?

其他有用信息:

  1. 当前,该解决方案假定1xpod使用1x容器。
  2. 所有Worker节点都是同一台计算机,并为其提供相同的文件系统存储驱动程序和相同的硬件
  3. Kubernetes版本:1.18.6

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)