Skip to content
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

Kubernetes on AWS templates do not produce a functional cluster #670

Open
scottslowe opened this issue Oct 20, 2023 · 2 comments
Open

Kubernetes on AWS templates do not produce a functional cluster #670

scottslowe opened this issue Oct 20, 2023 · 2 comments
Assignees
Labels
area/templates impact/usability Something that impacts users' ability to use the product easily and intuitively kind/bug Some behavior is incorrect or out of spec size/M Estimated effort to complete (up to 5 days).

Comments

@scottslowe
Copy link
Contributor

What happened?

As of a few EKS revisions ago, EKS clusters require the AWS EBS CSI driver/add-on to be installed in order to host workloads that use volumes. Our current templates do not have the AWS EBS CSI driver/add-on installed, and therefore cannot host any workloads that use volumes. They are, essentially, not functional.

To complicate the matter, the EKS component used in the templates does not currently support managing EKS add-ons (see pulumi/pulumi-eks#587 and pulumi/pulumi-eks#592). It is unclear to me at this point whether this means we need to stop using the EKS component or not. The AWS v6 upgrade also complicates this matter.

Example

  1. Run pulumi new kubernetes-aws-go. Complete the new project wizard.
  2. Run pulumi up. Wait for the cluster to be provisioned.
  3. Obtain the Kubeconfig for the cluster (typically using pulumi stack output kubeconfig > file).
  4. Using the Kubeconfig obtained in step 3, deploy the Bitnami WordPress Helm chart to the cluster. (Alternately, you may use any workload, Helm chart or otherwise, that requires a volume.)
  5. Observe the Pods stuck in a Pending state. Eventually, a SchedulingFailed event will appear in the output of kubectl describe pod.

Output of pulumi about

This is not specific to a particular version of Pulumi.

Additional context

This problem was uncovered while trying to resolve issues with pulumi/examples#1472

Contributing

Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@scottslowe scottslowe added kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team impact/usability Something that impacts users' ability to use the product easily and intuitively size/M Estimated effort to complete (up to 5 days). area/templates and removed needs-triage Needs attention from the triage team labels Oct 20, 2023
@cnunciato cnunciato self-assigned this Jul 1, 2024
@github-project-automation github-project-automation bot moved this to 🤔 Triage in Docs 📚 Jul 1, 2024
@cnunciato cnunciato moved this from 🤔 Triage to 🎬 Ready in Docs 📚 Jul 1, 2024
@cnunciato cnunciato added this to the 0.107 milestone Jul 1, 2024
@interurban interurban modified the milestones: 0.107, 0.108 Jul 24, 2024
@cnunciato cnunciato moved this from 🎬 Ready to 🔧 In Progress in Docs 📚 Aug 9, 2024
@cnunciato
Copy link
Contributor

Verified today this is still an issue. Steps taken after deploying the template with pulumi up:

$ pulumi stack output kubeconfig > kubeconfig
$ helm repo add bitnami https://charts.bitnami.com/bitnami --kubeconfig ./kubeconfig
$ helm repo update
$ helm install wp-test bitnami/wordpress --kubeconfig ./kubeconfig
$ kubectl get all --kubeconfig ./kubeconfig

NAME                                     READY   STATUS    RESTARTS   AGE
pod/wp-test-mariadb-0                    0/1     Pending   0          27m
pod/wp-test-wordpress-644b87db76-9xd55   0/1     Pending   0          27m

NAME                        TYPE           CLUSTER-IP       EXTERNAL-IP                                                               PORT(S)                      AGE
service/kubernetes          ClusterIP      172.20.0.1       <none>                                                                    443/TCP                      36m
service/wp-test-mariadb     ClusterIP      172.20.107.81    <none>                                                                    3306/TCP                     27m
service/wp-test-wordpress   LoadBalancer   172.20.220.251   adb69b344391a49c99566465e37fe460-1702088664.us-west-2.elb.amazonaws.com   80:32649/TCP,443:30442/TCP   27m

NAME                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/wp-test-wordpress   0/1     1            0           27m

NAME                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/wp-test-wordpress-644b87db76   1         1         0       27m

NAME                               READY   AGE
statefulset.apps/wp-test-mariadb   0/1     27m

Looks like there's a potential workaround in this issue: pulumi/pulumi-eks#833 (comment)

@interurban interurban modified the milestones: 0.108, 0.109 Aug 21, 2024
@interurban interurban modified the milestones: 0.109, 0.110 Sep 13, 2024
@interurban interurban modified the milestones: 0.110, 0.111 Oct 1, 2024
@interurban interurban modified the milestones: 0.111, 0.112 Oct 30, 2024
@thoward thoward assigned justinvp and unassigned cnunciato Nov 13, 2024
@thoward thoward moved this from 🔧 In Progress to 🤔 Triage in Docs 📚 Nov 13, 2024
@thoward thoward added the needs-triage Needs attention from the triage team label Nov 13, 2024
@thoward thoward removed this from the 0.112 milestone Nov 13, 2024
@thoward thoward removed the needs-triage Needs attention from the triage team label Nov 13, 2024
@thoward thoward moved this from 🤔 Triage to 🔧 In Progress in Docs 📚 Nov 13, 2024
@thoward
Copy link
Contributor

thoward commented Nov 13, 2024

@justinvp this was previously assigned to @cnunciato and needs to be picked up by someone to get over the finish line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/templates impact/usability Something that impacts users' ability to use the product easily and intuitively kind/bug Some behavior is incorrect or out of spec size/M Estimated effort to complete (up to 5 days).
Projects
Status: 🔧 In Progress
Development

No branches or pull requests

5 participants