<p>I am using <code>EKS</code> (<code>K8s</code> service natively provided by <code>AWS</code>).</p>

<p>My questions are:</p>

<ol>
<li>Is it possible to expose <code>NodePort</code> service through port 80 and 443 (default <code>NodePort</code> range is <code>30000 - 32767</code>).</li>
<li>If it is, how to do that with <code>EKS</code>.</li>
</ol>

<p><strong>Note</strong> I know the consequences of using <code>NodePort</code> services and have researched alternatives like <code>LoadBalancer</code> and <code>Ingress</code>. I am going ahead with NodePort because I have to.</p>

<ol>
<li><p>No. According to the <a href="https://github.com/awslabs/amazon-eks-ami" rel="nofollow noreferrer">EKS AMI Source</a>, the worker nodes' kubelets use the default configuration for <code>--service-node-port-range</code>. You will be assigned an external port number between <code>30000-32767</code>.</p>
</li>
<li><p>You have the alternative of using the node's <strong>hostNetwork</strong> to expose port 80 and 443 as <strong>hostPort</strong>. A description of the setup can be found <a href="http://alesnosek.com/blog/2017/02/14/accessing-kubernetes-pods-from-outside-of-the-cluster/" rel="nofollow noreferrer">here</a>. Just keep in mind the networking constraints and caveats of using a hostNetwork!</p>
</li>
</ol>
