What is the right way to create a nodegroup with `...
# kubernetes
b
What is the right way to create a nodegroup with
@pulumi/eks
? I created my first cluster using the
createNodeGroup
method. That worked, but I can't set
_ignoreChanges: [_"desiredCapacity"_]_
. I tried using the
new NodeGroup()
that takes the
pulumi.ComponentResourceOptions
where I can set ignoreChanges, but my pods can't resolve DNS. I also saw there are
createNodeGroup()
and
createManagedNodeGroup()
functions too. So, 2 questions: • Which is the recommended way? • Why when using
new NodeGroup()
that my pods in that nodegroup can't resolve DNS?
g
@breezy-hamburger-69619 any thoughts?
b
There are 2 methods to create node groups and it depends on whether you want to self-manage it [1], or have AWS manage it for you [2]. The trade-offs between the two that can be better understood by [3] and [4]. 1. Example - Self-managed: https://github.com/pulumi/pulumi-eks/tree/master/nodejs/eks/examples/nodegroup 2. Example - AWS managed: https://github.com/pulumi/pulumi-eks/tree/master/nodejs/eks/examples/managed-nodegroups 3. https://github.com/aws/containers-roadmap/issues/585 4. https://eksctl.io/usage/eks-managed-nodegroups#feature-parity-with-unmanaged-nodegroups
Which is the recommended way?
It depends on what level of control you want. Per the trade offs, if you need node tainting and other configurable properties on nodes to use for scheduling predicates, going the self-managed route is your best bet until [3] makes progress.
Why when using
new NodeGroup()
that my pods in that nodegroup can’t resolve DNS?
Hmm, I haven’t heard of that one before. What does your set up look like? Can you try the self-managed node group example and see if that works?