Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change kine metrics port from 8080 to 2380 #4421

Merged
merged 1 commit into from
May 16, 2024

Conversation

twz123
Copy link
Member

@twz123 twz123 commented May 15, 2024

Description

The default port is 8080. This conflicts with kube-router, which since 2.x fails if it cannot bind to its metrics port. This leads to a situation where the default configuration for a single node k0s cluster is broken, as kube-router will go into a crash loop. Kube-router 1.x will not be able to provide metrics, but will simply log the error and move on. The integration tests did not cover this case properly, as the kube-router manifests did not specify a readiness probe that the inttests need to detect problems with daemon sets.

Port 2380 was chosen because it is normally used by etcd. Kine also uses port 2379 for the client API, so why not use 2380 as well?

Related:

Fixes:

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

How Has This Been Tested?

  • Manual test
  • Auto test added

Checklist:

  • My code follows the style guidelines of this project
  • My commit messages are signed-off
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • I have checked my code and corrected any misspellings

The default port is 8080. This conflicts with kube-router, which
since 2.x fails if it cannot bind to its metrics port. This leads to a
situation where the default configuration for a single node k0s cluster
is broken, as kube-router will go into a crash loop. Kube-router 1.x
will not be able to provide metrics, but will simply log the error and
move on. The integration tests did not cover this case properly, as
the kube-router manifests did not specify a readiness probe that the
inttests need to detect problems with daemon sets.

Port 2380 was chosen because it is normally used by etcd. Kine also uses
port 2379 for the client API, so why not use 2380 as well?

Signed-off-by: Tom Wieczorek <[email protected]>
@twz123 twz123 marked this pull request as ready for review May 15, 2024 18:25
@twz123 twz123 requested a review from a team as a code owner May 15, 2024 18:25
@twz123 twz123 requested review from ncopa and jnummelin May 15, 2024 18:25
@twz123 twz123 added the backport/release-1.30 PR that needs to be backported/cherrypicked to the release-1.30 branch label May 15, 2024
@twz123 twz123 merged commit 4141997 into k0sproject:main May 16, 2024
80 checks passed
@twz123 twz123 deleted the kine-metrics-port branch May 16, 2024 06:04
@k0s-bot
Copy link

k0s-bot commented May 16, 2024

Successfully created backport PR for release-1.30:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport/release-1.30 PR that needs to be backported/cherrypicked to the release-1.30 branch bug Something isn't working component/kine component/kube-router
Projects
None yet
Development

Successfully merging this pull request may close these issues.

kube-router failed to start when installation with default settings
3 participants