<p>I use <a href="https://k3s.io/" rel="nofollow noreferrer">K3S</a> for my Kubernetes cluster. It's really fast and efficient. By default K3S use <a href="https://traefik.io/" rel="nofollow noreferrer">Traefik</a> for ingress controller which also work well til now.</p>

<p>The only issue I have is, I want to have HTTP2 server push. The service I have is behind the ingress, generates <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link" rel="nofollow noreferrer">Link header</a> which in the case of <a href="https://www.nginx.com/" rel="nofollow noreferrer">NGINX</a> I can simply turn it into the HTTP2 server push (explained <a href="https://www.nginx.com/blog/nginx-1-13-9-http2-server-push/" rel="nofollow noreferrer">here</a>). Is there any same solution for Traefik? Or is it possible to switch to NGINX in K3S?</p>

<p>You probably do not want HTTP/2 Server Push given it's <a href="https://brianli.com/2020/12/chrome-to-drop-support-for-http2-server-push/" rel="nofollow noreferrer">being removed from Chromium</a>. If you would like to switch ingress controllers you can choose another by:</p>
<ul>
<li>Starting K3s with the <code>--disable traefik</code> option.</li>
<li>Adding another controller such as NGINX or Ambassador</li>
</ul>
<p>For detailed instructions on adding Ambassador to K3s see the following link: <a href="https://rancher.com/blog/2020/deploy-an-ingress-controllers" rel="nofollow noreferrer">https://rancher.com/blog/2020/deploy-an-ingress-controllers</a></p>
