2

有人可以让我知道挂载包含文件的 Azure 文件共享需要遵循哪些步骤,并且需要将其挂载到 Kubernetes 中的 pod 上。

4

1 回答 1

1

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

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

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

接下来,要挂载存储,您需要

  1. 将软件包安装到您的节点:yum -y install cifs-utils. 如果您使用 Ubuntu 等类似 Debian 的发行版,请检查如何在您的操作系统中安装该软件包(可能它们具有相同的名称)。

  2. 不,您需要:

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

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

apiVersion: v1 kind: Secret metadata: name: azure-secret type: Opaque data: azurestorageaccountname: azhzdGVzdA== azurestorageaccountkey: eElGMXpKYm5ub2pGTE1Ta0JwNTBteDAyckhzTUsyc2pVN21GdDRMMTNob0I3ZHJBYUo4akQ2K0E0NDNqSm9nVjd5MkZVT2hRQ1dQbU02WWFOSHk3cWc9PQ==

  1. 现在您可以将共享挂载到您的 pod 中:

apiVersion: v1 kind: Pod metadata: name: azure spec: containers: - image: kubernetes/pause name: azure volumeMounts: - name: azure mountPath: /mnt/azure volumes: - name: azure azureFile: secretName: azure-secret shareName: k8stest readOnly: false

于 2018-03-21T15:53:34.637 回答