Skip to content
This repository has been archived by the owner on Jan 8, 2024. It is now read-only.

install/k8s: add statefulset and endpoint test #435

Merged
merged 1 commit into from
Oct 16, 2020

Conversation

jasonodonnell
Copy link
Contributor

@jasonodonnell jasonodonnell commented Oct 13, 2020

The K8s installation code checks if the K8s Load Balancer has an external IP address then proceeds to connect via gRPC to bootstrap the server. In some K8s environments the load balancer gets an external IP long before the pod is ready to accept connections.

For example, pods in EKS consistently took 30 seconds or more to start after the service already had an external IP. This is due to the overhead of EBS volume provisioning to satisfy the persistent volume claim.

I've added additional checks so we can ensure everything is ready before attempting connection:

  • verify the Statefulset and all its replicas are ready
  • check the service for container endpoints to ensure routing is ready
  • simple HTTP connection test to ensure we reach the pod.

Fixes #431.

@vercel
Copy link

vercel bot commented Oct 13, 2020

@jasonodonnell is attempting to deploy a commit to the HashiCorp Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions bot added the core label Oct 13, 2020
@evanphx
Copy link
Contributor

evanphx commented Oct 13, 2020

@jasonodonnell We're going to hold this until after release.

@mitchellh mitchellh added this to the Post 0.1 milestone Oct 13, 2020
@jasonodonnell
Copy link
Contributor Author

@evanphx Works for me!

@mitchellh mitchellh merged commit 71bb269 into hashicorp:main Oct 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

K8s: waypoint installer connecting to service too early
3 participants