如何在 AKS 上创建 Redis 集群?
How to create a Redis Cluster on AKS?
我正在尝试使用 Bitnami Helm Chart 在 Azure AKS 上创建 Redis 集群,但无法正常工作。
我的集群有两个节点池,一个 运行ning linux 和另一个 运行ning windows 机器,所以,我必须指定 nodeSelector 属性。我的命令是:
helm install --set master.nodeSelector."kubernetes\.io/os"="linux" --set slave.nodeSelector."kubernetes\.io/os"="linux" redis azure-marketplace/redis
我从https://bitnami.com/stack/redis/helm
那里得到的
当我 运行 helm install
主节点按预期启动 运行ning 时,但从节点出现故障。消息说:
Warning FailedMount 26s (x2 over 2m41s) kubelet
Unable to attach or mount volumes: unmounted volumes=[redis-data], unattached volumes=[health redis-data config redis-tmp-conf default-token-p7zgf start-scripts]: timed out waiting for the condition
Normal SuccessfulAttachVolume 3s attachdetach-controller
AttachVolume.Attach succeeded for volume "pvc-aXXXXXXc-aXXf-4XXe-bXX9-9xxxxxxxxx49"
Warning FailedMount kubelet
MountVolume.MountDevice failed for volume "pvc-aXXXXXXc-aXXf-4XXe-bXX9-9XXXXXXXXX49" : azureDisk - mountDevice:FormatAndMount failed with mount failed: exit status 32
Mounting command: systemd-run
Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/plugins/kubernetes.io/azure-disk/mounts/m38XXXXXX77 --scope -- mount -t ext4 -o defaults /dev/disk/azure/scsi1/lun0 /var/lib/kubelet/plugins/kubernetes.io/azure-disk/mounts/m38XXXXXX77
Output: Running scope as unit: run-ra32XXXXXXXXXXXXXXXXXXXXXXXX7f2f7.scope
mount: /var/lib/kubelet/plugins/kubernetes.io/azure-disk/mounts/m38XXXXXX77: wrong fs type, bad option, bad superblock on /dev/sdc, missing codepage or helper program, or other error.
Warning FailedMount kubelet
MountVolume.MountDevice failed for volume "pvc-aXXXXXXc-aXXf-4XXe-bXX9-9XXXXXXXXX49" : azureDisk - mountDevice:FormatAndMount failed with mount failed: exit status 32
我试了很多次都没有成功。
我做错了什么?
slave pod 是否与 Persistent Volume 连接在同一个节点上?我们开始使用
volumeBindingMode: WaitForFirstConsumer
在我们的存储中 classes 有助于避免 pod 和 pv 在不同的 hosts 上实例化。
跟进:在这种情况下,图表似乎依赖于集群默认存储 class,它没有与 deployment/statefulset 对象相同的节点亲和性规则。此外,该集群混合了来自不同操作系统的工作人员(win,linux)。图表逻辑期待 linux os 挂载,但遇到了 windows host。
我正在尝试使用 Bitnami Helm Chart 在 Azure AKS 上创建 Redis 集群,但无法正常工作。
我的集群有两个节点池,一个 运行ning linux 和另一个 运行ning windows 机器,所以,我必须指定 nodeSelector 属性。我的命令是:
helm install --set master.nodeSelector."kubernetes\.io/os"="linux" --set slave.nodeSelector."kubernetes\.io/os"="linux" redis azure-marketplace/redis
我从https://bitnami.com/stack/redis/helm
那里得到的当我 运行 helm install
主节点按预期启动 运行ning 时,但从节点出现故障。消息说:
Warning FailedMount 26s (x2 over 2m41s) kubelet Unable to attach or mount volumes: unmounted volumes=[redis-data], unattached volumes=[health redis-data config redis-tmp-conf default-token-p7zgf start-scripts]: timed out waiting for the condition
Normal SuccessfulAttachVolume 3s attachdetach-controller AttachVolume.Attach succeeded for volume "pvc-aXXXXXXc-aXXf-4XXe-bXX9-9xxxxxxxxx49"
Warning FailedMount kubelet MountVolume.MountDevice failed for volume "pvc-aXXXXXXc-aXXf-4XXe-bXX9-9XXXXXXXXX49" : azureDisk - mountDevice:FormatAndMount failed with mount failed: exit status 32 Mounting command: systemd-run Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/plugins/kubernetes.io/azure-disk/mounts/m38XXXXXX77 --scope -- mount -t ext4 -o defaults /dev/disk/azure/scsi1/lun0 /var/lib/kubelet/plugins/kubernetes.io/azure-disk/mounts/m38XXXXXX77
Output: Running scope as unit: run-ra32XXXXXXXXXXXXXXXXXXXXXXXX7f2f7.scope mount: /var/lib/kubelet/plugins/kubernetes.io/azure-disk/mounts/m38XXXXXX77: wrong fs type, bad option, bad superblock on /dev/sdc, missing codepage or helper program, or other error.
Warning FailedMount kubelet MountVolume.MountDevice failed for volume "pvc-aXXXXXXc-aXXf-4XXe-bXX9-9XXXXXXXXX49" : azureDisk - mountDevice:FormatAndMount failed with mount failed: exit status 32
我试了很多次都没有成功。 我做错了什么?
slave pod 是否与 Persistent Volume 连接在同一个节点上?我们开始使用
volumeBindingMode: WaitForFirstConsumer
在我们的存储中 classes 有助于避免 pod 和 pv 在不同的 hosts 上实例化。
跟进:在这种情况下,图表似乎依赖于集群默认存储 class,它没有与 deployment/statefulset 对象相同的节点亲和性规则。此外,该集群混合了来自不同操作系统的工作人员(win,linux)。图表逻辑期待 linux os 挂载,但遇到了 windows host。