Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将现有Azure fileshare装载到Kubernetes中的Pod_Kubernetes_Azure Storage Files_Azure Files - Fatal编程技术网

如何将现有Azure fileshare装载到Kubernetes中的Pod

如何将现有Azure fileshare装载到Kubernetes中的Pod,kubernetes,azure-storage-files,azure-files,Kubernetes,Azure Storage Files,Azure Files,有人能告诉我需要遵循哪些步骤来装载包含文件的Azure fileshare,并且需要将其装载到Kubernetes的pod上。正如我在中看到的,Azure使用SMB协议访问数据: Azure文件可以通过SMB 2.1和SMB 3.0装载。对于来自本地或其他Azure区域的客户端的连接,Azure文件将拒绝SMB 2.1(或未加密的SMB 3.0)。如果为存储帐户启用了“需要安全传输”,Azure文件将仅允许使用SMB 3.0加密的连接 Kubernetes不直接支持SMB,但支持特殊类型的卷-A

有人能告诉我需要遵循哪些步骤来装载包含文件的Azure fileshare,并且需要将其装载到Kubernetes的pod上。

正如我在中看到的,Azure使用SMB协议访问数据:

Azure文件可以通过SMB 2.1和SMB 3.0装载。对于来自本地或其他Azure区域的客户端的连接,Azure文件将拒绝SMB 2.1(或未加密的SMB 3.0)。如果为存储帐户启用了“需要安全传输”,Azure文件将仅允许使用SMB 3.0加密的连接

Kubernetes不直接支持SMB,但支持特殊类型的卷-
AzureFile
,这将自动为您提供SMB配置

接下来,要装载存储,您需要:

  • 将软件包安装到节点:
    yum-y安装cifs utils
    。如果您使用像Ubuntu这样的Debian发行版,请检查如何在您的操作系统中安装这些软件包(可能它们的名称相同)

  • 不,您需要:

    获取Microsoft Azure存储帐户并创建包含base64编码的Azure存储帐户名称和密钥的机密。在机密文件中,base64编码Azure存储帐户名称并将其与名称azurestorageaccountname配对,base64编码Azure存储访问密钥并将其与名称azurestorageaccountkey配对

    之后,您可以使用该文件创建Kubernetes机密:

  • apiVersion:v1 种类:秘密 元数据: 名称:azure机密 类型:不透明 数据: azurestorageaccountname:azhzdGVzdA== azurestorageaccountkey:EELGMXPKYM5UB2PGTE1TA0JWNTBDAYCKHZTUSYC2PVN21GDDRMMTNOB0I3ZHJBYUO4AKQ2K0E0NDNQSM9NVJD5MKZVT2HRQ1DQBU02WWFOSHK3CWC9PQ==

  • 现在,您可以将共享装载到pod中:
  • apiVersion:v1 种类:豆荚 元数据: 名称:azure 规格: 容器: -图片:库伯内特斯/暂停 名称:azure 体积数量: -名称:azure 装载路径:/mnt/azure 卷数: -名称:azure azureFile: 秘密名称:azure秘密 共享名:k8stest 只读:false

    以下文档详细介绍了Azure文件共享作为AKS群集中的Kubernetes持久卷的动态资源调配。我遇到以下问题:“安装卷”azure的MountVolume.SetUp失败:mount failed:exit status 1 Mounting命令:mount Mounting arguments:-t cifs-o username=devops3,password=xxxxxxxxxx=,file_mode=0755,dir_mode=0755,vers=3.0//devops3.file.core.windows.net/k8stest/var/lib/kubelet/pods/06a060d1-4fr2-11e8-b530-000d3a11ee2f/volumes/kubernetes.io~ azure文件/azure输出:装载错误:无法解析devops3的地址。文件。core.windows.net:未知错误“看起来主机地址中添加了一个空格。请您检查并确认一下好吗?根据粘贴的内容,这有点难说,但是是的,
    devops3
    .file.core.windows.net
    之间似乎有一个空格。请尝试检查您的配置,可能在
    shareName
    中有一个空格。据了解,`shareName`是文件共享的名称,与引用存储帐户名/username=devops3的url无关。由空格引起的问题是由于编码问题,该问题已得到解决。但是在根据日志成功安装文件共享后,我无法看到在pod/容器上创建的/mnt/azure文件夹。请说明我们如何从pod/contaner中进行确认?您可以在
    kubectl descripe$pod
    命令的输出中检查
    Volumes:
    块。它应该在那里。