linkerd / linkerd/linkerd2

protocol detection for keycloak

Open
#3,936 4 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/proxy help wanted
Dominant language
Go
Stars
11.5k
Forks
1.4k
Avg merge
3d 22h
Merged PRs (30d)
53

Description

Bug Report

Seems like protocol detection for keycloak-cluster discovery is not supported:

Adding skip-port for clustering traffic fixes the issue:

  keycloak:
    podAnnotations:
      config.linkerd.io/skip-inbound-ports: "7600" # skip keycloak cluster discovery
      config.linkerd.io/skip-outbound-ports: "7600"
What is the issue?

When deploying keycloak in a clustered manner, linkerd seems to break keycloaks clustering traffic

How can it be reproduced?

Deploy keycloak with replicas >1 (we use the helm chart), when you log into the service, an error will occur and you are logged out. If you are fast you will see some 401 in the browser before you are redirected to the loginscreen. This happens because the other node dont know that you are logged inn.

Environment
  • Kubernetes Version: 1.15.7
  • Cluster Environment: AKS
  • Host OS:
  • Linkerd version: 2.6.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is identified in the report. Reproduce the failure with a Keycloak deployment using more than one replica on Kubernetes, then trace Linkerd's protocol detection for the cluster-discovery traffic; done means clustered login works without skipping port 7600.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
infrastructure, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.