Hoping someone has some ideas, trying to deploy EK...
# kubernetes
d
Hoping someone has some ideas, trying to deploy EKS using python based off some of the examples provided in the pulumi docs. Running into an issue when manually creating a nodegroup.
Copy code
Diagnostics:
  pulumi:pulumi:Stack (eks-test-dev):
    error: Program failed with an unhandled exception:
    error: Traceback (most recent call last):
      File "/Users/username/Documents/Projects/infrastracture/eks-test/venv/lib/python3.9/site-packages/pulumi/runtime/resource.py", line 519, in do_rpc_call
        return monitor.RegisterResource(req)
      File "/Users/username/Documents/Projects/infrastracture/eks-test/venv/lib/python3.9/site-packages/grpc/_channel.py", line 946, in __call__
        return _end_unary_response_blocking(state, call, False, None)
      File "/Users/username/Documents/Projects/infrastracture/eks-test/venv/lib/python3.9/site-packages/grpc/_channel.py", line 849, in _end_unary_response_blocking
        raise _InactiveRpcError(state)
    grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
    	status = StatusCode.UNKNOWN
    	details = "'dependsOn' was passed a value that was not a Resource."
    	debug_error_string = "{"created":"@1628011197.637119000","description":"Error received from peer ipv4:127.0.0.1:62720","file":"src/core/lib/surface/call.cc","file_line":1070,"grpc_message":"'dependsOn' was passed a value that was not a Resource.","grpc_status":2}"
Copy code
cluster = eks.Cluster('my-cluster',
    eks.ClusterArgs(
        vpc_id = "vpc-0f18104098f81c610",
        public_subnet_ids = [
            "subnet-047e0e4a31e9ad1f3",
            "subnet-08fb41482eaf6b690",
            "subnet-0769814376c6eac88"
        ],
        private_subnet_ids = [
            "subnet-00c8bf8280586a2d0",
            "subnet-066a7fc8922344ce1",
            "subnet-094a9d174e8645de8"
        ],
        skip_default_node_group = True,
        instance_roles = [ role1, role2 ],
    )
)

# Now create multiple node groups, each using a different instance profile for each role.

# First, create a node group for fixed compute.
fixed_node_group = eks.NodeGroup('my-cluster-ng1',
    cluster = cluster.core,
    instance_type = 't2.medium',
    desired_capacity = 2,
    min_size = 1,
    max_size = 3,
    labels = {'ondemand': 'true'},
    instance_profile = instance_profile_1,
    opts = pulumi.ResourceOptions(
        parent = cluster,
        providers = {
            'kubernetes': cluster.provider,
        }
    )
)
thats the code snippet, basically copy pasted from the eks examples in docs.
b
this looks concerning, can you open an issue in github.com/pulumi/pulumi-eks and we'll get it triaged
please share your pulumi version, and the version of pulumi_eks you're using
d
sure will do
issue opened, let me know if theres any more information i should add.
b
@delightful-gigabyte-39334 could you link the example you based this off?
(if we find a code issue I want to make sure I update it)
d
its in the issue at the top
b
oh d'oh, course it is
@delightful-gigabyte-39334 can you try updating:
Copy code
cluster = cluster.core
to
Copy code
cluster = cluster
d
get a bunch of different errors from that.
Copy code
aws:ec2:SecurityGroupRule (my-cluster-ng1-eksClusterIngressRule):
    error: aws:ec2/securityGroupRule:SecurityGroupRule resource 'my-cluster-ng1-eksClusterIngressRule' has a problem: Missing required argument: The argument "security_group_id" is required, but no definition was found.. Examine values at 'SecurityGroupRule.SecurityGroupId'.

  pulumi:pulumi:Stack (eks-test-dev):
    error: Program failed with an unhandled exception:
    error: Traceback (most recent call last):
      File "/Users/dhuynhadxnet.com/Documents/Projects/infrastracture/eks-test/venv/lib/python3.9/site-packages/pulumi/runtime/resource.py", line 519, in do_rpc_call
        return monitor.RegisterResource(req)
      File "/Users/dhuynhadxnet.com/Documents/Projects/infrastracture/eks-test/venv/lib/python3.9/site-packages/grpc/_channel.py", line 946, in __call__
        return _end_unary_response_blocking(state, call, False, None)
      File "/Users/dhuynhadxnet.com/Documents/Projects/infrastracture/eks-test/venv/lib/python3.9/site-packages/grpc/_channel.py", line 849, in _end_unary_response_blocking
        raise _InactiveRpcError(state)
    grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
    	status = StatusCode.UNKNOWN
    	details = "invocation of aws:ssm/getParameter:getParameter returned an error: transport is closing"
    	debug_error_string = "{"created":"@1628014357.219134000","description":"Error received from peer ipv4:127.0.0.1:57666","file":"src/core/lib/surface/call.cc","file_line":1070,"grpc_message":"invocation of aws:ssm/getParameter:getParameter returned an error: transport is closing","grpc_status":2}"
    >
b
hmm okay, it looks like the example is wrong, will get that updated
d
what else is needed in the example? there was a few other syntax issues i ran into in the examples as well, such as the assume_role_policy statement being incorrect from what aws expects. is there something else I am missing to be able to get these node groups created? checking the api reference docs on eks I don’t see a way of specifying anything regarding the missing security_group_id.