The reason why you are seeing most Registered Targets as Unhealthy, is due to the following setting in the ingress-nginx component:
ingress-nginx:
controller:
service:
externalTrafficPolicy: Local
type: LoadBalancer
When a Kubernetes service of type load balancer is set to externalTrafficPolicy: Local, it uses the health-check port to signal to the LB of the cloud provider which nodes have a local instance of the selected service.
Only a few Nodes show as healthy because these nodes have the ingress-nginx service running in them. The number of healthy Nodes will depend on the number of replicas of your ingress-nginx service.
For example, if you had set the replicas of the ingress-nginx service equal to 2, then only up to 2 nodes will show as healthy in AWS, while the rest will show unavailable as Unhealthy.
This does not have any negative impact on how your cluster and Okteto work. As a matter of fact, this allows the AWS LB to know which Nodes to route to that will accept requests for the ingress-nginx service.