首页 > 解决方案 > 如何在 AWS EKS 上托管的 pod 内挂载外部 Windows 文件共享?

问题描述

我们正在寻找可行的选项来映射 kubernetes+AWS-EKS托管的 docker 容器内的外部 Windows 文件共享,并且很少有选项。可通过 IP 地址访问位于同一 VPN 中的 Windows 文件共享

在没有 kubernetes esp 在 EKS 上原生支持的情况下,我们正在尝试 Flexvolumes 以及持久卷。但这需要在节点上安装 cifs 驱动程序,据我所知,EKS 不提供管理节点。

任何不需要节点级安装自定义驱动器(包括 cifs 等)的选项?

标签: amazon-web-serviceskubernetesdocker-volumeamazon-eks

解决方案


您可以修改 cloudformation 堆栈以在启动后安装驱动程序,请参阅 https://amazon-eks.s3-us-west-2.amazonaws.com/cloudformation/windows-public-preview/amazon-eks-cfn-quickstart- windows.yaml

它引用了https://amazon-eks.s3-us-west-2.amazonaws.com/cloudformation/windows-public-preview/amazon-eks-windows-nodegroup.yaml,其中包含以下 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>

添加您的自定义安装要求并在启动节点时使用此新堆栈


推荐阅读