Skip to content

Add support for IPv6 addresses #398

Open
@CC007

Description

@CC007

Why do you need this?

My node only has a reachable IPv6 address, so I tried to use k3sup with the following command:

k3sup install --context <cluster context> --user <vm user> --ip <IPv6>

Expected Behaviour

I expect this to work the same way as for an IPv4 address

Current Behaviour

I get the following output:

Running: k3sup install
2022/12/24 xx:xx:xx <IPv6>
Public IP: <IPv6>
Error: unable to connect to <IPv6> over ssh: dial tcp: address <IPv6>:22: too many colons in address

Possible Solution

Add a -6 flag for when the user wants to provide an IPv6 address. In such cases it might also be needed to specify the network adapter, like <IPv6>%eth0. This seems to be the case for ssh, but not for ping, so you'd have to check if you need this.

Steps to Reproduce

  1. Download k3sup
  2. Run k3sup install --context <cluster context> --user <vm user> --ip <IPv6> (with everything between <> filled in ofc.)

Your Environment

  • k3sup version:
0.12.12
  • What Kubernetes distribution, client and server version are you using?
N/A
  • What OS or type or VM are you using for your cluster? Where is it hosted? (for k3sup install/join):

  • Operating System and version (e.g. Linux, Windows, MacOS):

Self-hosted. 
Host OS: Windows 11 22H2 (build: 22621.963), using Hyper-V (Configuration version: 11.0) + multipass (for creating the VMs)

VM OS instances: 
Linux <vmname> 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

Do you want to work on this?

Subject to design approval, are you willing to work on a Pull Request for this issue or feature request?

I would be willing, but I don't have very much experience with GoLang. 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions