Page MenuHomePhabricator

Upgrade all third-party Toolforge Kubernetes components to versions supporting Kubernetes 1.22
Closed, ResolvedPublic

Description

Kubernetes 1.22 removes a bunch of stuff. We also have a significant amount of third-party admin components installed in the cluster. Those all likely need updates.

https://grafana.wmcloud.org/d/dVVFcEAVz/deprecated-kubernetes-api-calls?orgId=1&var-cluster=prometheus-tools&var-versions=1.22

  • calico
    • should be good here per latest upgrade T292698
  • ingress-nginx
    • current version we're using (1.0.x) claims to support up to 1.22
  • jupyterhub?
    • not relevant anymore as paws is managed separately

metrics components:

Details

TitleReferenceAuthorSource BranchDest Branch
Update metrics-server and overhaul its deploymentrepos/cloud/toolforge/wmcs-k8s-metrics!2taaviupdate-metrics-servermain
Upgrade kube-state-metrics to 2.2.4repos/cloud/toolforge/wmcs-k8s-metrics!1taavikube-state-metricsmain
Customize query in GitLab

Event Timeline

Change 740323 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/puppet@production] kubeadm: Update kube-state-metrics to 2.2.4

https://gerrit.wikimedia.org/r/740323

Change 740323 abandoned by Majavah:

[operations/puppet@production] kubeadm: Update kube-state-metrics to 2.2.4

Reason:

https://gerrit.wikimedia.org/r/740323

taavi updated the task description. (Show Details)
taavi claimed this task.

Had to do a bit of trickery to figure out the source of the remaining ingress API calls:

{"kind":"Event","apiVersion":"audit.k8s.io/v1","level":"Metadata","auditID":"887d9bba-8c48-48ee-a80c-4757ba645a8a","stage":"ResponseComplete","requestURI":"/apis/extensions/v1beta1/ingresses?allowWatchBookmarks=true\u0026resourceVersion=444308692\u0026timeout=5m40s\u0026timeoutSeconds=340\u0026watch=true","verb":"watch","user":{"username":"system:kube-controller-manager","groups":["system:authenticated"]},"sourceIPs":["172.16.6.136"],"userAgent":"kube-controller-manager/v1.21.8 (linux/amd64) kubernetes/4a3b558/shared-informers","objectRef":{"resource":"ingresses","apiGroup":"extensions","apiVersion":"v1beta1"},"responseStatus":{"metadata":{},"status":"Success","message":"Connection closed early","code":200},"requestReceivedTimestamp":"2023-02-14T20:11:59.557788Z","stageTimestamp":"2023-02-14T20:17:39.558597Z","annotations":{"authorization.k8s.io/decision":"allow","authorization.k8s.io/reason":"RBAC: allowed by ClusterRoleBinding \"system:kube-controller-manager\" of ClusterRole \"system:kube-controller-manager\" to User \"system:kube-controller-manager\"","k8s.io/deprecated":"true","k8s.io/removed-release":"1.22"}}

So that should go away when the cluster is upgraded. Otherwise based on this table I think we're all good here.