aws / aws/eks-charts

[aws-efa-k8s-device-plugin] Allow overriding container command / args

Open
#1,233 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Mustache
Stars
1.3k
Forks
1.1k
Avg merge
22m
Merged PRs (30d)
5

Description

**Is your feature request related to a problem?**
We use Karpenter to spin up EKS nodes, and it will dynamically decide whether to launch a node with EFA enabled or not based on resource requirements. There are no easy labels to tell nodes with / without EFA support apart. The EFA plugin daemonset crashloops on nodes where EFA is not enabled. For us, we would like to sleep forever and not run the `efa-k8s-device-plugin` binary if the node doesn't have EFA enabled. I know this is probably not desired behavior for everyone, so we would like the ability to customize `command` and `args` ourselves to implement this behavior

**Is your feature request related to a specific Helm chart, if yes mention name of the chart?**
aws-efa-k8s-device-plugin

**Describe the solution you'd like**
Add the ability to specify a custom `command` / `args` for the `aws-efa-k8s-device-plugin` daemonset

**Describe alternatives you've considered**
We have forked the helm chart to manually add the following to the daemonset:
```yaml
spec:
template:
spec:
containers:
- name: aws-efa-k8s-device-plugin
command:
- bash
args:
- '-c'
- 'if [[ ! -e /dev/infiniband/uverbs0 ]]; then echo "EFA not enabled, sleeping forever"; sleep infinity; else exec efa-k8s-device-plugin; fi'
```
But we would like to use the upstream helm chart if possible.

Contributor guide

Open the contributing guide

Research direction

Start by locating the aws-efa-k8s-device-plugin Helm chart's values and DaemonSet template, then inspect how the container command is currently defined. Add configurable command and args values for the chart and verify that the rendered DaemonSet uses them while preserving the default behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
helm, kubernetes
Domain
devops, infrastructure
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.