kubeflow / kubeflow/dashboard

IPV6 bug from using deprecated kubernetes client-node library

Open
#99 8 comments 0 reactions 0 assignees View on GitHub
kind/bug priority/needs-triage
Dominant language
TypeScript
Stars
19
Forks
68
Avg merge
2d 16h
Merged PRs (30d)
10

Description

### Checks

- [x] I have searched the [existing issues](https://github.com/kubeflow/dashboard/issues).
- [x] My issue is related to one of the components in the [`kubeflow/dashboard`](https://github.com/kubeflow/dashboard) repository.

### Kubeflow Version

all

### Kubeflow Platform

manifests

### Kubernetes Distribution

on premises pure ipv6 calico+cri-o

### Kubernetes Version

```shell
Client Version: v1.30.13
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.31.2
```

### Description

according to https://github.com/kubernetes-client/javascript/blob/release-1.x/FETCH_MIGRATION.md kubernetes client-node library has switched out from request module.
Current version of centraldashboard uses a deprecated version of kubernetes/client-node module which fails to resolve a host address in ipv6 format.
This results in central dashboard landing breaking

![Image](https://github.com/user-attachments/assets/a437ab70-384f-4ef0-a1d9-19a74b5efd5e)

temprary workaround by editing the centraldashboard deployment:
```yaml
spec:
containers:
- env:
- name: KUBERNETES_SERVICE_HOST
value: kubernetes.default
- name: KUBERNETES_PORT_443_TCP_ADDR
value: kubernetes.default
```
logs before the workaround:
```verilog
Unable to fetch ConfigMap: Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: Host: 1101. is not in the cert's altnames: DNS:kubernetes, DNS:kubernetes.default, DNS:kubernetes.default.svc, DNS:kubernetes.default.svc.cluster.local, DNS:localhost, IP Address:1101:300:1:2:0:0:0:1, IP Address:2001:470:1B1E:C000:216:3EFF:FE45:4D4, IP Address:2001:470:1B1E:C000:0:0:0:1, IP Address:0:0:0:0:0:0:0:1, IP Address:1100:200:0:0:0:0:0:1, IP Address:1101:300:1:2:0:0:0:A
```

Proposed solution: I don't know enough about nodejs but a start would be to upgrade the client-node reference in all packages (this may affect pipelines and other deployments).

Contributor guide

Open the contributing guide

Research direction

Start by locating the deprecated kubernetes client-node references in all packages and reviewing the linked client-node migration guide. Check the centraldashboard deployment and related logs for the IPv6 hostname and certificate failure; done means the dashboard landing page works on the reported IPv6 setup without the temporary environment-variable workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, node.js, typescript
Domain
backend, infrastructure
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.