younsl opened a new pull request, #394:
URL: https://github.com/apache/superset-kubernetes-operator/pull/394

   ## Summary
   
   Add dnsPolicy and dnsConfig values to the Helm chart so users can tune the 
resolver of the operator manager pod. The main use case is lowering ndots to 2 
as recommended by [EKS best 
practices](https://docs.aws.amazon.com/eks/latest/best-practices/scale-cluster-services.html#_reduce_external_queries_by_lowering_ndots),
 which avoids unnecessary cluster DNS search domain queries for external names. 
Today this requires patching the rendered Deployment. Both values are unset by 
default, so existing installs keep the Kubernetes ClusterFirst behavior.
   
   ## Details
   
   - templates/deployment.yaml renders dnsPolicy and dnsConfig on the manager 
pod only when set.
   - Rendering fails when dnsPolicy is None without any dnsConfig.nameservers 
entry. The API server rejects that pod spec, which would otherwise only surface 
as a stuck ReplicaSet after install.
   - [values.schema.json](https://helm.sh/docs/topics/charts/#schema-files) 
limits dnsPolicy to the Kubernetes values (empty, ClusterFirst, 
ClusterFirstWithHostNet, Default, None) and dnsConfig to the 
[PodDNSConfig](https://pkg.go.dev/k8s.io/api/core/v1#PodDNSConfig) fields 
nameservers, searches, and options.
   - Chart README regenerated with 
[helm-docs](https://github.com/norwoodj/helm-docs). Each value has a one line 
description.
   - Changelog entry added under Unreleased.
   
   Example values for ndots 2:
   
   ```yaml
   dnsConfig:
     options:
       - name: ndots
         value: "2"
   ```
   
   <details>
   <summary>Verification</summary>
   
   - [helm-unittest](https://github.com/helm-unittest/helm-unittest): 30 tests 
and 26 snapshots pass. New cases cover the default (both fields omitted), the 
None without nameservers failure, None with nameservers, and schema rejection 
of an unknown dnsPolicy. The full options snapshot now includes dnsPolicy 
ClusterFirst with ndots 2.
   - kind cluster (Kubernetes 1.37), real install with dnsPolicy ClusterFirst 
and ndots 2: the manager pod becomes Ready and its sandbox resolv.conf contains 
options ndots:2 while keeping the cluster nameserver 10.96.0.10 and the cluster 
search domains.
   - kind cluster, server side dry run: dnsPolicy None with a nameserver is 
accepted, and dnsPolicy None without nameservers is rejected with "must provide 
at least one DNS nameserver", matching the chart guard.
   - make helm-lint, make helm-values-covered, make codegen (no diff), and make 
lint-md pass.
   
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to