Amazon web services 如何在AWS EKS上托管的pod内安装外部windows文件共享?
我们正在寻找可行的选项来映射kubernetes+AWS-EKS中托管的docker容器中的外部windows文件共享,并且只有很少的选项。同一VPN中的Windows文件共享可通过IP地址访问 在缺乏kubernetes esp在EKS上本机支持的情况下,我们正在尝试FlexVolume和persistant volume。但这需要在节点上安装cifs驱动程序,据我所知,EKS不提供对节点的管理Amazon web services 如何在AWS EKS上托管的pod内安装外部windows文件共享?,amazon-web-services,kubernetes,docker-volume,amazon-eks,Amazon Web Services,Kubernetes,Docker Volume,Amazon Eks,我们正在寻找可行的选项来映射kubernetes+AWS-EKS中托管的docker容器中的外部windows文件共享,并且只有很少的选项。同一VPN中的Windows文件共享可通过IP地址访问 在缺乏kubernetes esp在EKS上本机支持的情况下,我们正在尝试FlexVolume和persistant volume。但这需要在节点上安装cifs驱动程序,据我所知,EKS不提供对节点的管理 任何不需要节点级安装自定义驱动器(包括cifs等)的选项?您可以修改cloudformation堆
任何不需要节点级安装自定义驱动器(包括cifs等)的选项?您可以修改cloudformation堆栈,以便在启动后安装驱动程序,请参阅 它引用了包含以下powershell启动行的
<powershell>
[string]$EKSBinDir = "$env:ProgramFiles\Amazon\EKS"
[string]$EKSBootstrapScriptName = 'Start-EKSBootstrap.ps1'
[string]$EKSBootstrapScriptFile = "$EKSBinDir\$EKSBootstrapScriptName"
[string]$cfn_signal = "$env:ProgramFiles\Amazon\cfn-bootstrap\cfn-signal.exe"
& $EKSBootstrapScriptFile -EKSClusterName ${ClusterName} ${BootstrapArguments} 3>&1 4>&1 5>&1 6>&1
$LastError = if ($?) { 0 } else { $Error[0].Exception.HResult }
& $cfn_signal --exit-code=$LastError `
--stack="${AWS::StackName}" `
--resource="NodeGroup" `
--region=${AWS::Region}
</powershell>
[string]$EKSBinDir=“$env:ProgramFiles\Amazon\EKS”
[string]$EKSBootstrapScriptName='Start EKSBootstrap.ps1'
[字符串]$EKSbootstrapscript文件=“$EKSBinDir\$EKSbootstrapscript名称”
[string]$cfn_signal=“$env:ProgramFiles\Amazon\cfn bootstrap\cfn signal.exe”
&$eksbootstrapscript文件-EKSClusterName${ClusterName}${BootstrapArguments}3>&14>&15>&16>&1
$LastError=if($?){0}else{$Error[0]。Exception.HResult}
&$cfn_信号——退出代码=$LastError`
--stack=“${AWS::StackName}”`
--resource=“节点组”`
--region=${AWS::region}
添加自定义安装要求并在启动节点时使用此新堆栈我们最终使用代码方法,原因包括:
- 避免任何可能的环境配置问题,让群集管理员参与,特别是在Kubernetes群集上安装基于Flexvolume的CIFS驱动程序李>
- 本机代码被证明是更好的控制
- 随nuget软件包提供
- 与.NET标准2.x兼容,即.NET核心2.x
- 文件共享操作不是读/写密集型操作