Describe the bug
Generated sk-driver pods cannot be configured to use Azure Workload Identity.
The Simulation driver configuration does not support selecting a Kubernetes service account or adding pod labels. Therefore, a driver pod cannot use an annotated service account or set the required azure.workload.identity/use: "true" label.
Steps to reproduce
-
Create a service account configured for Azure Workload Identity:
kubectl create serviceaccount sk-driver-sa -n simkube
kubectl annotate serviceaccount sk-driver-sa \
-n simkube \
azure.workload.identity/client-id=<CLIENT_ID>
-
Run a simulation using an Azure Blob trace:
skctl run \
--trace-path azure://<CONTAINER>/<TRACE_PATH> \
--driver-namespace simkube
-
Inspect the generated driver Job:
kubectl get jobs -n simkube -o yaml
-
Observe that there is no way to configure the generated pod with:
spec:
serviceAccountName: sk-driver-sa
or:
metadata:
labels:
azure.workload.identity/use: "true"
Expected behavior
The Simulation driver configuration should support a service account and pod labels:
spec:
driver:
serviceAccount: sk-driver-sa
podLabels:
azure.workload.identity/use: "true"
sk-ctrl should copy these values into the generated driver Job:
spec:
template:
metadata:
labels:
azure.workload.identity/use: "true"
spec:
serviceAccountName: sk-driver-sa
Logs or Metrics
The issue is visible in the generated Job manifest. No specific log line is required.
Additional Info
Kubernetes Version: Any
Environment: Kubernetes with Azure Workload Identity enabled
Affected components: sk-ctrl, sk-driver, skctl
Describe the bug
Generated
sk-driverpods cannot be configured to use Azure Workload Identity.The
Simulationdriver configuration does not support selecting a Kubernetes service account or adding pod labels. Therefore, a driver pod cannot use an annotated service account or set the requiredazure.workload.identity/use: "true"label.Steps to reproduce
Create a service account configured for Azure Workload Identity:
Run a simulation using an Azure Blob trace:
Inspect the generated driver Job:
kubectl get jobs -n simkube -o yamlObserve that there is no way to configure the generated pod with:
or:
Expected behavior
The
Simulationdriver configuration should support a service account and pod labels:sk-ctrlshould copy these values into the generated driver Job:Logs or Metrics
The issue is visible in the generated Job manifest. No specific log line is required.
Additional Info
Kubernetes Version: Any
Environment: Kubernetes with Azure Workload Identity enabled
Affected components: sk-ctrl, sk-driver, skctl