-
Notifications
You must be signed in to change notification settings - Fork 126
Alessandro/aks provider #2030
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Alessandro/aks provider #2030
Conversation
// Get provider list for introspection | ||
providerList := map[string]struct{}{kubernetes.LegacyProvider: {}} | ||
if r.options.IntrospectionEnabled { | ||
nodeList, err := r.getNodeList(ctx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since this is a costly operation, I wonder if it makes sense to make this call up one level and pass it to both this function and reconcileAgentProfiles
?
) | ||
// Reconcile cluster agent for each provider | ||
var errs []error | ||
for provider := range providerList { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we want to loop over all the providers, because we still want one DCA per cluster. (Let me know if I'm misunderstanding something here.) Perhaps we can add some logic to choose the "best" provider - for instance, if the entire cluster is AKS then use AKS. If it's mixed then make a deterministic choice
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will be waiting for Sarah to merge her PR into main, and will then update my branch since the issue has been resolved
What does this PR do?
Adding AKS as a supported provider within the introspection feature, and adds DD_ADMISSION_CONTROLLER_ADD_AKS_SELECTORS env var to be true if the admission controller is enabled and introspection sees that a node is running on AKS.
Motivation
Customers do not have to manually add the correct configurations on the Datadog Agent to run on a AKS node, the operator will add the basic configurations needed automatically.
Additional Notes
https://docs.datadoghq.com/containers/kubernetes/distributions/?tab=datadogoperator#AKS
Based on previous documentation, we needed to add the admission controller env var AND make kubelet changes in order to run the agent on AKS. Because of some recent certificate changes that AKS made, the only thing the operator needs to adjust for AKS environments is the admission controller env var if the admission controller is enabled.
Minimum Agent Versions
Are there minimum versions of the Datadog Agent and/or Cluster Agent required?
Describe your test plan
Checklist
bug
,enhancement
,refactoring
,documentation
,tooling
, and/ordependencies
qa/skip-qa
label