从 Google Kubernetes Engine 集群访问文件共享

在本主题中,您将了解如何通过创建永久性卷和永久性卷声明从 GKE 集群访问 Cloud Filestore 文件共享。

集群必须与 Cloud Filestore 实例位于同一 Google Cloud Platform 项目和 VPC 网络中。

创建永久性卷

  1. 运行以下命令以安装 kubectl 命令行工具:

    gcloud components install kubectl
    gcloud container clusters get-credentials [CLUSTER_NAME]

    其中,[CLUSTER_NAME] 是集群的名称。

  2. 创建 Kubernetes 永久性卷规范。它是一个 .yaml 文件,提供有关如何访问 Cloud Filestore 文件共享的信息。该规范类似于以下示例:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: fileserver
    spec:
      capacity:
        storage: [STORAGE]
      accessModes:
      - ReadWriteMany
      nfs:
        path: /[FILESHARE]
        server: [IP_ADDRESS]
    

    其中:

    • [STORAGE] 是 Cloud Filestore 实例上的文件共享的大小。您必须采用资源数量中介绍的一个受支持的单位来指定 [STORAGE] 值,例如 2T
    • [FILESHARE] 是 Cloud Filestore 实例上的文件共享的名称。您可以从以下任何来源获取实例的文件共享名称:
    • [IP_ADDRESS] 是 Cloud Filestore 实例的 IP 地址。您可以从以下任意来源获取实例的 IP 地址:

    如需详细了解其他设置,请参阅永久性卷

  3. 通过运行以下命令来部署永久性卷规范:

    kubectl create -f /path/to/[PERSISTENT_VOLUME_FILE_NAME].yaml

创建永久性卷声明

  1. 创建 Kubernetes 永久性卷声明规范。它是一个 .yaml 文件,让 Kubernetes pod 能够访问永久性卷的存储资源。该规范类似于以下示例:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: fileserver-claim
    spec:
      accessModes:
      - ReadWriteMany
      storageClassName: ""
      resources:
        requests:
          storage: [STORAGE]
    

    其中,[STORAGE] 是您希望可用于 Kubernetes 对象的永久性卷声明的大小。您必须采用资源数量中介绍的一个受支持的单位来指定 [STORAGE] 值。所指定的值必须等于或小于为永久性卷指定的存储。

    要详细了解其他设置,请参阅永久性卷声明

  2. 通过运行以下命令来部署永久性卷声明规范:

    kubectl create -f /path/to/[PERSISTENT_VOLUME_CLAIM_FILE_NAME].yaml

使用永久性卷声明

  1. 为使用永久性卷声明的 Kubernetes 对象(例如 Kubernetes pod)创建规范。此规范是一个用于描述该对象的 .yaml 文件,包括有关任何适用于该对象的存储资源的信息。Pod 规范类似于以下示例:

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-pod
    spec:
      containers:
      - name: [CONTAINER_NAME]
        image: [IMAGE_NAME]
        volumeMounts:
        - mountPath: [MOUNT_PATH]
          name: mypvc
      volumes:
      - name: mypvc
        persistentVolumeClaim:
          claimName: [CLAIM_NAME]
          readOnly: false
    

    其中:

    • [CONTAINER_NAME] 是容器的名称(请参阅容器)。
    • [IMAGE_NAME] 是 Docker 映像名称(请参阅容器)。
    • [MOUNT_PATH] 是用于装载永久性卷声明的路径,例如 /mnt/fileserver
    • [CLAIM_NAME] 是已部署的永久性值声明的名称。在本示例中,它为 fileserver-claim

    如需详细了解其他设置,请参阅 Pod

  2. 通过运行以下命令部署 pod 规范:

    kubectl create -f /path/to/[POD_FILE_NAME].yaml

后续步骤

获取 Cloud Filestore 实例的相关信息

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Filestore 文档