0

This is my first attempt to deploy Pulsar on AKS v1.15.11.

I'm getting a not very verbose error messages from 2 pods that are "unscheduled" :

enter image description here

Firtst pod unscheduled "pulsar-zookeeper-0"

[Pod] [pulsar-zookeeper-0] FailedScheduling: selectedNode annotation value "" not set to scheduled node "aks-agentpool-20916223-vmss000001"

Second Pod unscheduled "pulsar-bookkeeper-0"

[Pod] [pulsar-bookkeeper-0] FailedScheduling: selectedNode annotation value "" not set to scheduled node "aks-pulsar-20916223-vmss000001"

Here's a detailed procedure of what I did. I've used official helm-charts for deployments

helm repo add kafkaesque https://helm.kafkaesque.io
helm repo update

Based on the documentation, I understood that I need to feed theese values in my storage_values.yaml file.

default_storage:
  provisioner: kubernetes.io/azure-disk
  fsType: ext4
  type: managed-premium
  extraParams:
    storageaccounttype: Premium_LRS
    kind: Managed
    cachingmode: ReadOnly

Also created the namespace

{
  "kind": "Namespace",
  "apiVersion": "v1",
  "metadata": {
     "name": "pulsar",
     "labels": {
       "name": "pulsar"
     }
  }
}

Using this command

kubectl create -f namespace-pulsar.json

Then then I launched the deployment using the previous values

helm install pulsar kafkaesque/pulsar --namespace pulsar --values storage_values.yaml
Odubuc
  • 656
  • 6
  • 15
  • 1
    I am guessing it can't create the premium disks (check `kubectl get pvc`). Try changing to the existing default storage class by setting `default_storage.existingStorageClassName: default` – Chris Bartholomew Jun 23 '20 at 18:00
  • I can see 3 pvc "pending" using `kubectl get pvc --namespace pulsar`. I'm going throught the documentation to find how to set the default storage class like you suggested. – Odubuc Jun 23 '20 at 19:58

1 Answers1

0

AKS already comes with Storage Classes

you shouldn't need to tell your Chart to create a Storage Class using

default_storage:
  provisioner: kubernetes.io/azure-disk
  fsType: ext4
  type: managed-premium
  extraParams:
    storageaccounttype: Premium_LRS
    kind: Managed
    cachingmode: ReadOnly

Instead update the StorageClassName variable to have your pods create their PVC using an existing Storage Class from AKS

run kubectl get sc to get a list of all deployed storage classes

For your particular Chart,

Create a new file called storage_values.yaml for the storage class settings. To use an existing storage class (including the default one) set this value:

default_storage:
  existingStorageClassName: default or <name of storage class>

ref: https://helm.kafkaesque.io

djsly
  • 1,522
  • 11
  • 13
  • What would be the best way to update the `StorageClassName` ? – Odubuc Jun 25 '20 at 13:59
  • https://helm.kafkaesque.io Create a new file called storage_values.yaml for the storage class settings. To use an existing storage class (including the default one) set this value: default_storage: existingStorageClassName: default or – djsly Jun 26 '20 at 02:01
  • I guess I read the docs too fast and went straight to the cloud specific config instead of the default so thanks for pointing that out. I'll experiment a bit with the configuration to better understand why it failed... – Odubuc Jun 26 '20 at 16:09