gpt4 book ai didi

amazon-web-services - AWS Kubernetes 中缺少 NVMe SSD

转载 作者:行者123 更新时间:2023-12-05 09:05:44 26 4
gpt4 key购买 nike

当 r6gd 实例部署在 Kubernetes 中时,AWS 似乎隐藏了我的 NVMe SSD,该实例是通过以下配置创建的。

# eksctl create cluster -f spot04test00.yaml                                                      
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: tidb-arm-dev #replace with your cluster name
region: ap-southeast-1 #replace with your preferred AWS region
nodeGroups:
- name: tiflash-1a
desiredCapacity: 1
availabilityZones: ["ap-southeast-1a"]
instancesDistribution:
instanceTypes: ["r6gd.medium"]
privateNetworking: true
labels:
dedicated: tiflash

正在运行的实例具有 80 GiB EBS gp3 block 和零 NVMe SSD 存储,如图 1 所示。

Figure 1.The 59 GiB NVMe SSD for r6gd instance is swapped out for a 80 GiB gp3 EBS block. What happended to my NVMe SSD?

为什么亚马逊将 59GiB NVMe 换成 80GiB EBS gp3 存储?

我的 NVMe 磁盘哪里去了?

  1. 即使我使用非托管节点组预分配临时存储,它仍然显示 80 GiB EBS 存储(图 1)。

  2. 如果我使用 AWS Web UI 启动一个新的 r6gd 实例,它会清楚地显示附加的 NVMe SSD(图 2)

Figure 2. 59 GiB NVMe for r6gd instance created via AWS Web Console.

经过进一步实验,我们发现 80 GiB EBS 卷作为“临时”资源附加到 r6gd.medium、r6g.medium、r6gd.large、r6g.large 实例,无论实例大小如何。

eksctl describe nodes:

Capacity:
attachable-volumes-aws-ebs: 39
cpu: 2
ephemeral-storage: 83864556Ki
hugepages-2Mi: 0
memory: 16307140Ki
pods: 29
Allocatable:
attachable-volumes-aws-ebs: 39
cpu: 2
ephemeral-storage: 77289574682
hugepages-2Mi: 0
memory: 16204740Ki
pods: 29

Capacity:
attachable-volumes-aws-ebs: 39
cpu: 2
ephemeral-storage: 83864556Ki
hugepages-2Mi: 0
memory: 16307140Ki
pods: 29
Allocatable:
attachable-volumes-aws-ebs: 39
cpu: 2
ephemeral-storage: 77289574682
hugepages-2Mi: 0
memory: 16204740Ki
pods: 29

等待在 Kubernetes 中成功使用 NVMe SSD 的人指点。

最佳答案

解决了我的问题,这是我的经验教训:

  1. 默认情况下,NVMe 不会显示在实例中(无论是在 AWS 网络控制台中还是在 VM 的终端中),但可以作为/dev/nvme1 访问。是的,您需要格式化并挂载它们。对于单个 VM,这很简单,但是对于 k8s,您需要刻意格式化它们才能使用它们。

  2. 可以使用 kubernetes 配置文件中的设置覆盖 80GB

  3. 要在 k8s 中使用虚拟机附加的 NVMe,您需要在设置 k8s 节点时运行这 2 个额外的 kubernetes 服务。如果您使用的是 ARM64 VM,请记住修改 2 个服务的 yaml 文件以使用 ARM64 图像:

    一个。 storage-local-static-provisioner

    • ARM64 图像:jasonxh/local-volume-provisioner:latest

    eks-nvme-ssd-provisioner

    • ARM64镜像:zhangguiyu/eks-nvme-ssd-provisioner
  4. NVMe 永远不会作为您的 k8s 集群的临时存储的一部分出现。该临时存储描述了您附加到每个 VM 的 EBS 卷。从那以后,我将我的 EBS 限制为 20GB。

  5. 当您键入 kubectl get pvc 时,PV 将显示:

  6. 以下 TiDB 节点配置文件副本供引用:

  • kubectl 获取 pvc

      guiyu@mi:~/dst/bin$ kubectl get pv
    NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
    local-pv-1a3321d4 107Gi RWO Retain Bound tidb-cluster-dev/tikv-tidb-arm-dev-tikv-2 local-storage 9d
    local-pv-82e9e739 107Gi RWO Retain Bound tidb-cluster-dev/pd-tidb-arm-dev-pd-1 local-storage 9d
    local-pv-b9556b9b 107Gi RWO Retain Bound tidb-cluster-dev/data0-tidb-arm-dev-tiflash-2 local-storage 6d8h
    local-pv-ce6f61f2 107Gi RWO Retain Bound tidb-cluster-dev/pd-tidb-arm-dev-pd-2 local-storage 9d
    local-pv-da670e42 107Gi RWO Retain Bound tidb-cluster-dev/tikv-tidb-arm-dev-tikv-3 local-storage 6d8h
    local-pv-f09b19f4 107Gi RWO Retain Bound tidb-cluster-dev/pd-tidb-arm-dev-pd-0 local-storage 9d
    local-pv-f337849f 107Gi RWO Retain Bound tidb-cluster-dev/data0-tidb-arm-dev-tiflash-0 local-storage 9d
    local-pv-ff2f11c6 107Gi RWO Retain Bound tidb-cluster-dev/tikv-tidb-arm-dev-tikv-0 local-storage 9d
  • pods.yaml

    tiflash:
    baseImage: pingcap/tiflash-arm64
    maxFailoverCount: 3
    replicas: 2
    nodeSelector:
    dedicated: tiflash
    tolerations:
    - effect: NoSchedule
    key: dedicated
    operator: Equal
    value: tiflash
    storageClaims:
    - resources:
    requests:
    storage: "100Gi"
    storageClassName: local-storage
  • eks-setup.yaml

    - name: tiflash-1a
    desiredCapacity: 1
    instanceTypes: ["r6gd.large"]
    privateNetworking: true
    availabilityZones: ["ap-southeast-1a"]
    spot: false
    volumeSize: 20 # GiB EBS gp3 3000 IOPS
    volumeType: gp3
    ssh:
    allow: true
    publicKeyPath: '~/dst/etc/data-platform-dev.pub'
    labels:
    dedicated: tiflash

关于amazon-web-services - AWS Kubernetes 中缺少 NVMe SSD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66828369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com