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

Prepared for Release v0.7.0 #1165

Closed
yangjunmyfm192085 opened this issue Dec 28, 2022 · 54 comments · Fixed by #1392
Closed

Prepared for Release v0.7.0 #1165

yangjunmyfm192085 opened this issue Dec 28, 2022 · 54 comments · Fixed by #1392
Assignees
Labels
triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@yangjunmyfm192085
Copy link
Contributor

yangjunmyfm192085 commented Dec 28, 2022

Installation

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.7.0/components.yaml

Changes since v0.6.0

Improvements

Optimizations

Observability

Tests

Manifests

  • fix(manifests): Turn autoscale into a component(@maxbrunet)

  • refactor(manifests): Follow base-components-overlays structure(@maxbrunet)

  • Add HA manifests for the different compatibilities(@dgrisonnet )

Documentations

Fixes

Need to be added

Should not to be added

@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Dec 28, 2022
@yangjunmyfm192085
Copy link
Contributor Author

/cc @serathius @dgrisonnet

@stevehipwell
Copy link
Contributor

For the Helm chart I'd like to get #1120 merged as well as the Dependabot PRs.

@logicalhan
Copy link
Contributor

/triage accepted
/assign @serathius @dgrisonnet

@k8s-ci-robot k8s-ci-robot added the triage/accepted Indicates an issue or PR is ready to be actively worked on. label Jan 12, 2023
@k8s-ci-robot k8s-ci-robot removed the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jan 12, 2023
@dgrisonnet
Copy link
Member

I discussed this topic with @serathius a few weeks ago and we wanted to wait to have a bit more improvements before cutting a new minor. So far there are mostly dependencies updates and a few bug fixes, but we haven't tackled any long-term improvements from: #627 this time.

@gillesdouaire
Copy link

gillesdouaire commented Feb 6, 2023

Would be great to release if only to update the version of the k8s.io/client-go library. We are using metrics server 0.6.2, and its current v0.23.2 k8s.io/client-go version is antique, an update is much needed as most Kubernetes clusters these days are at 1.24 if not 1.25.

@stevehipwell
Copy link
Contributor

Would be great to release if only to update the version of the k8s.io/client-go library. We are using metrics server 0.6.2, and its current v0.23.2 k8s.io/client-go version is antique, an update is much needed as most Kubernetes clusters these days are at 1.24 if not 1.25.

I don't disagree with the sentiment here but I'd like to see some number to back up the statement; the last time I remember an overview of where people are running K8s it was 70% on EKS with the other cloud providers also significantly represented. EKS only made v1.24 available in November, AKS does have v1.25 available but it's not particularly stable, GKE has v1.25 on rapid but v1.24 is regular with v1.23 on stable. I can't see there being too many people running a version higher than v1.24 and suspect that the most common version is likely v1.23 or even v1.22.

@gillesdouaire
Copy link

oh well 🤷

@stevehipwell
Copy link
Contributor

@gillesdouaire I wasn't disagreeing with getting a release out. But I was interested if you had some numbers to back up your claim on the versions currently in use as I wasn't thinking that the primary reason to be aiming to release.

@gillesdouaire
Copy link

@stevehipwell I contacted our GKE representative for K8s minor version usage statistics because I am curious - but I am not convinced my quest will be successful... will keep you posted.

@alex-berger
Copy link
Contributor

In light of https://kubernetes.io/blog/2023/02/06/k8s-gcr-io-freeze-announcement/, I would love to see this release (including the corresponding HelmChart release) rather sooner then later.

@dgrisonnet
Copy link
Member

https://kubernetes.io/blog/2023/02/06/k8s-gcr-io-freeze-announcement/ will not have any impact on metrics-server since we are already using the new registry to publish images.

@stevehipwell
Copy link
Contributor

It looks like we might want to release a chart patch to update the source in the Helm chart as we haven't released since the changes were made there.

@alex-berger
Copy link
Contributor

@dgrisonnet That's only half of whats, needed :-). The Helm Chart should also be released to make use of the new registry by default.

@dgrisonnet
Copy link
Member

I wasn't aware the chart was still referencing the old registry, but even if it needs to be updated, it doesn't require to release v0.7.0.

@111andre111
Copy link

Question: What are the blockers for not releasing 0.7.0.
I see these ones:
#1165 (comment)
#1165 (comment)
Are these still a topic?

@Dentrax
Copy link

Dentrax commented Jun 20, 2023

Any update on this discussion?

I was wondering if we are able to up and run 0.6.3 in v1.26.5 k8s cluster. (Since #1265 not released yet) Or should we wait the next release cut for this? If so, is there any planned date for the next release?

@dgrisonnet
Copy link
Member

Let's work on this release once Kubernetes 1.28 is out. Release 0.6 is running an unsupported version of the Kubernetes libraries (go.mod) and updating it to the most recent minor could be considered a breaking change since it is outside of the version skew.

Does that sound fine with you @serathius?

@wzshiming
Copy link
Member

Hello, Any plans for when it will be released?

@CatherineF-dev
Copy link
Contributor

@sumit-cyber it should be golang 1.21.5. Could you check whether master branch still has these vulnerabilities?

https://github.com/kubernetes-sigs/metrics-server/pull/1394/files

@dgrisonnet
Copy link
Member

Few comments:

@CatherineF-dev could you perhaps:

  • Replace the go update entries by the latest one and I don't think it is worth mentioning all the dependencies update besides go and kubernetes
  • Remove the changes made only to the helm chart (they will have their own changelog when the chart is released). You could keep a list around to simplify the work for @stevehipwell if you want
  • I don't think it is really useful to mention the following changes:
Update registry location to registry.k8s.io
cloudbuild: remove buildx-specific commands
feat(chart): Changed the registry location to registry.k8s.io
Remove manual assets publication step from RELEASE.md
fix verify fail
try to fix the e2e failure

Generally, try to think about what information would be useful to the end users of metrics-server when creating the changelog.

  • Change default secure port to 10250 this is not observability but either manifest or helm chart

@CatherineF-dev
Copy link
Contributor

CatherineF-dev commented Jan 2, 2024

Improvements

Support logs in JSON format(@yangjunmyfm192085)

Optimize the timeout setting and timeout logging of metrics-server accessing the /metrics/resource endpoint (@yangjunmyfm192085)

update PodDisruptionBudget to policy/v1(@yangjunmyfm192085)

GO-2022-1144: Bump golang.org/x/net(@olivierlemasle)

Bump klog/v2 back to v2.60.1 and other minor bumps (@cruizen)

Set namespace for auth-reader rb to kube-system (@hamza3202)

add configMap volume for addon resizer (@calvinbui)

Permit running under PodSecurity restricted (@jcpunk)

Bump golang from 1.21.4 to 1.21.5 (dependent-bot)

Optimizations

Remove redundant informer startup(@yangjunmyfm192085)

Tests

Add test logging flags(@serathius)

add fuzz test for decodeBatch(@yangjunmyfm192085)

verify test:fix golangci-lint(@yangjunmyfm192085)

update logcheck(@yangjunmyfm192085)

Upload metrics-server logs in CI(@dgrisonnet)

e2e test adds support for kubernetes version 1.26(@yangjunmyfm192085)

Manifests

fix(manifests): Turn autoscale into a component(@maxbrunet)

refactor(manifests): Follow base-components-overlays structure(@maxbrunet)

Add HA manifests for the different compatibilities(@dgrisonnet)

Change default secure port to 10250(@stevehipwell)

Documentations

Update KNOWN_ISSUES (@serathius @yangjunmyfm192085 @maxmetalm)

Document command line flags and test it(@serathius)

Update README.md(@mindw)

document what ports are required for MS to work in the README(@yangjunmyfm192085)

Small cleanups for network requirements(@serathius)

Fix document: replace a broken link on README.md(@Shunpoco)

Link to PSS (since PSP is deprecated).(@guettli)

Update HA instructions to include 1.21+ deployment(@dgrisonnet)

Fixes

Restore support for log specific flags in Kubernetes Components (@yangjunmyfm192085)

fix benchmark bug and some small spell mistake(@yangjunmyfm192085)

fix: Handle error while parsing node metrics(@XiaoXiaoSN)

update prometheus to version 2.33.0(@fengshunli)

update api dependencies(@yangjunmyfm192085)

Fix errors in find -type f -name ".go" ! -path "/vendor/*" | xargs (@cruizen)

fix addon resizer rolebinding (@calvinbui)

fix(chart): Updated container port to correct default (@stevehipwell)

update k8s version for e2e tests (@yangjunmyfm192085)

@CatherineF-dev
Copy link
Contributor

cc @dgrisonnet, have updated

@dgrisonnet
Copy link
Member

There still some things that don't really make sense like:

Build metrics-server with golang 1.19.11

when we are now building with golang 1.21.5: https://github.com/kubernetes-sigs/metrics-server/blob/master/Dockerfile#L4

I'll try to give it a stab myself and we can see going from that

@CatherineF-dev
Copy link
Contributor

Oh, I ignored all PRs from non-human. For example, dependent bot.

Added Bump golang from 1.21.4 to 1.21.5 (@dependabot)

@sumit-cyber
Copy link

@CatherineF-dev we have upgraded machine-agent using master branch but still there is 1.19.11 version of go-land and vulnerabilities not addressed .

Could you please guide how to upgrade.

First we deleted metrics server using below command from our environment
kubectl delete -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

and then create it
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

@sumit-cyber
Copy link

@CatherineF-dev @dgrisonnet

I think components.yaml still pointing out to image :registry.k8s.io/metrics-server/metrics-server:v0.6.4

and in branch release-0.6 still go-lang version is 1.19.11

@CatherineF-dev
Copy link
Contributor

Yes, because v0.7 has not been released.

Waiting this issue to be approved, so that we can go to next step.

@CatherineF-dev
Copy link
Contributor

You can see all release steps here: https://github.com/kubernetes-sigs/metrics-server/blob/master/RELEASE.md

This is the first step.

@sumit-cyber
Copy link

Yes, because v0.7 has not been released.

Waiting this issue to be approved, so that we can go to next step.

So there will be no changes to release-0.6 instead 0.7 will be after after some days ?

@CatherineF-dev
Copy link
Contributor

CatherineF-dev commented Jan 12, 2024

I think we can still update release note after release, how about approving this issue now?

cc @dgrisonnet @serathius

@dgrisonnet
Copy link
Member

dgrisonnet commented Jan 16, 2024

Installation

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.7.0/components.yaml

Changes since v0.6.4

Logging flags that are klog specific (--log-dir, --log-file, --logtostderr, --alsologtostderr, --one-output, --stderrthreshold, --log-file-max-size, --skip-log-headers, --add-dir-header, --skip-headers, --log-backtrace-at) were deprecated in v0.6.1 and are now removed.

Improvements

  • Support producing logs in JSON format (@yangjunmyfm192085)
  • Introduce --kubelet-request-timeout CLI flag to customize the timeout of requests to kubelet (@yangjunmyfm192085)
  • Add the ability to exclude nodes by labels via the --node-selector flag (@yangjunmyfm192085)
  • Disable DWARF generation when compiling the binary to reduce its size (@mattmoor)
  • Support modifying the metric collection path on nodes via the metrics.k8s.io/resource-metrics-path annotation on the nodes (@wzshiming)
  • Add release binaries to the Github release artifacts (@wzshiming)
  • Bump Golang v1.21.6 to and Kubernetes clients to v0.29.0

Optimizations

Fixes

  • Handle malformed metrics from Kubelet (@XiaoXiaoSN)
  • Handle Kernel bug leading to incorrect CPU usage data (@sleepyzhang)

Tests

Manifests

  • Migrate to a base-components-overlays structure (@maxbrunet)
  • Update PodDisruptionBudget to policy/v1 (@yangjunmyfm192085)
  • Add version-specific HA manifests (@dgrisonnet)
  • Permit running metrics-server under PodSecurity restricted (@jcpunk)
  • Update autoscaling configuration to follow README recommendation (@serathius)
  • Add containerSecurityContext for addonResizer (@the-technat)

Documentations

@dgrisonnet
Copy link
Member

@CatherineF-dev I went through the git log again and tried to remove most of the non user-facing changes as well as everything related to helm. Let me know what you think about this revised version of the changelog.

@dgrisonnet
Copy link
Member

Maybe I could add a section dedicated to Helm changes. @stevehipwell what do you think would be the best for the users between integrating the helm changes to the main changelog or adding them separately in the helm release?

@CatherineF-dev
Copy link
Contributor

Let me know what you think about this revised version of the changelog.

LGTM.

@stevehipwell
Copy link
Contributor

Maybe I could add a section dedicated to Helm changes. @stevehipwell what do you think would be the best for the users between integrating the helm changes to the main changelog or adding them separately in the helm release?

@dgrisonnet I'll be adding a CHANGELOG into the chart directory in the chart release for v0.7.0 so it'd probably be easier to keep them out of the main one.

@dgrisonnet
Copy link
Member

I updated the changelog to mention that the klog specific flags, have been removed.

@dgrisonnet
Copy link
Member

Release v0.7.0 is now available: https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.0.

@jcpunk
Copy link
Contributor

jcpunk commented Jan 23, 2024

Will the helm chart be updated? https://kubernetes-sigs.github.io/metrics-server/index.yaml doesn't currently list 0.7.0 as a valid appVersion.

@dgrisonnet
Copy link
Member

@jcpunk yes the helm chart release will soon follow. It is tracked in #1409

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet