1
votes

I use K3S for my Kubernetes cluster. It's really fast and efficient. By default K3S use Traefik for ingress controller which also work well til now.

The only issue I have is, I want to have HTTP2 server push. The service I have is behind the ingress, generates Link header which in the case of NGINX I can simply turn it into the HTTP2 server push (explained here). Is there any same solution for Traefik? Or is it possible to switch to NGINX in K3S?

3

3 Answers

1
votes

I don't know about that HTTP2 in traefik, but you can simply tell k3s not to start traefik and deploy your choice of ingress controller:

https://github.com/rancher/k3s#traefik

1
votes

HTTP2 Push not supported in Traefik yet. See the github open issue #906 for progress on the matter.

Though, you can safely switch to the nginx ingress controller to accomplish HTTP2 push

a) helm install stable/nginx-ingress

b) in your ingress yaml set appropriate annotation

metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
1
votes

You probably do not want HTTP/2 Server Push given it's being removed from Chromium. If you would like to switch ingress controllers you can choose another by:

  • Starting K3s with the --disable traefik option.
  • Adding another controller such as NGINX or Ambassador

For detailed instructions on adding Ambassador to K3s see the following link: https://rancher.com/blog/2020/deploy-an-ingress-controllers