Hi, Based on <https://kubernetes.io/docs/referenc...
# kubernetes
f
Hi, Based on https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22, apiextensions.k8s.io/v1beta1 API version of CustomResourceDefinition is no longer served as of v1.22. However, it seems the sdk/module up is still using the deprecated component making cni deployment in v1.22 to break. Any idea when a fix would be made available? sdk: 3.30.0 pulumi>=3.0.0,<4.0.0 pulumi-eks>=0.37.1
q
Can you share your code?
f
Copy code
...
import pulumi_eks as aws_eks
...

cluster = aws_eks.Cluster(
	cluster_config['name'],
	cluster_security_group = cluster_sg,
	cluster_tags=cluster_config['tags'],
	create_oidc_provider=cluster_config['create_oidc_provider'],
	enabled_cluster_log_types=cluster_config['log_config']['enabled_cluster_log_types'],
	endpoint_private_access=cluster_config['endpoint']['private_access'],
	endpoint_public_access=cluster_config['endpoint']['public_access'],
	fargate=cluster_config['fargate_enabled'],
	gpu=cluster_config['gpu_enabled'],
	instance_role=instance_role,
	name=cluster_config['name'],
	node_user_data=cluster_config['instance']['user_data'],
	private_subnet_ids=[snet_pvta_id, snet_pvtb_id, snet_pvtc_id],
	provider_credential_opts=aws_eks.KubeconfigOptionsArgs(
		profile_name=cluster_config['cluster_profile'],
	),
	proxy=cluster_config['proxy'],
	public_access_cidrs=cluster_config['public_access_cidrs'],
	public_subnet_ids=[snet_puba_id, snet_pubb_id, snet_pubc_id],
	service_role=service_role,
	skip_default_node_group=cluster_config['skip_default_node_group'],
	tags=cluster_config['tags'],
	version=cluster_config['version'],
	vpc_id = vpc_id,
	opts=ResourceOptions(
		custom_timeouts=pulumi.CustomTimeouts(
			create=cluster_config['timeouts']['create'],
			update=cluster_config['timeouts']['update'],
			delete=cluster_config['timeouts']['delete'],
		)
	)
)
return cluster
The main issue is the
version
... it breaks for v1.22
h
I came here to look into this, too:
Copy code
(eks:index:Cluster$eks:index:VpcCni)
error: Command failed: kubectl apply -f /var/folders/92/8l3d5ypj4ls7809y4m2qb3kr0000gn/T/tmp-83308XqJ1Fstq73Aq.tmp
Warning: spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].key: <http://beta.kubernetes.io/os|beta.kubernetes.io/os> is deprecated since v1.14; use "<http://kubernetes.io/os|kubernetes.io/os>" instead
Warning: spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[1].key: <http://beta.kubernetes.io/arch|beta.kubernetes.io/arch> is deprecated since v1.14; use "<http://kubernetes.io/arch|kubernetes.io/arch>" instead
error: unable to recognize "/var/folders/92/8l3d5ypj4ls7809y4m2qb3kr0000gn/T/tmp-83308XqJ1Fstq73Aq.tmp": no matches for kind "CustomResourceDefinition" in version "<http://apiextensions.k8s.io/v1beta1|apiextensions.k8s.io/v1beta1>"
(in the process of attempting to provision a new EKS cluster with k8s 1.22)
I'm pretty new to pulumi, so may be confused, but I believe this was the code that provoked the failure (typescript):
Copy code
const vpc = new awsx.ec2.Vpc(`vpc-alb-ingress-eks-${environment}`, {});

// Create an EKS cluster with the default configuration.
const cluster = new eks.Cluster(environment, {
  version: "1.22",
  vpcId: vpc.id,
  subnetIds: vpc.publicSubnetIds,
  createOidcProvider: true,
  instanceType: "t3a.medium",
  minSize: 0,
  maxSize: 6,
  desiredCapacity: 2,
  vpcCniOptions: {
    warmIpTarget: 4
  }
});
... and confirmed: after trying again with
version: "1.21"
, the convergence succeeds but issues the following warning:
Copy code
Warning: <http://apiextensions.k8s.io/v1beta1|apiextensions.k8s.io/v1beta1> CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use <http://apiextensions.k8s.io/v1|apiextensions.k8s.io/v1> CustomResourceDefinition
q
Can you open an issue, please? I think this might need some of our engineers to take a look
g