k0sproject / k0sproject/k0sctl

Multiple privateAddress (node InternalIP)

Open
#482 3 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
582
Forks
113
Avg merge
2d 13h
Merged PRs (30d)
34

Description

I'm trying to deploy a k0s cluster using k0sctl with dualStack ipv4/ipv6.
My goal is to use cilium and make use of nodes InternalIPs.

k0sctl.yaml:
```yaml
apiVersion: k0sctl.k0sproject.io/v1beta1
kind: Cluster
metadata:
name: magi
spec:
hosts:
- role: controller+worker
privateInterface: eth0
ssh:
address: 192.168.1.50
user: root
keyPath: ~/.ssh/id_rsa
noTaints: true
- role: worker
privateInterface: eth0
ssh:
address: 192.168.1.60
user: root
keyPath: ~/.ssh/id_rsa
- role: worker
privateInterface: eth0
ssh:
address: 192.168.1.70
user: root
keyPath: ~/.ssh/id_rsa
k0s:
version: v1.27.1+k0s.0
config:
apiVersion: k0s.k0sproject.io/v1beta1
kind: ClusterConfig
metadata:
name: magi
spec:
network:
podCIDR: "10.244.0.0/16"
serviceCIDR: "10.96.0.0/12"
provider: custom
dualStack:
enabled: true
IPv6podCIDR: "fd00::/108"
IPv6serviceCIDR: "fd01::/108"
```
Each node have an IPv4 and and IPv6 address, the problem is that when I deploy my cluster, my nodes only have the IPv4 InternalIP.

Is there any way to set multiples InternalIP on cluster deployment?

UPDATE:
I achieve to get this working by modifying manually the `k0scontroller.service`:
```
ExecStart=/usr/local/bin/k0s controller --config=/etc/k0s/k0s.yaml --enable-worker=true --no-taints=true --kubelet-extra-args=--node-ip=192.168.1.x,2a12:xxxx:xxxx:xxxx::x
```
The --node-ip kubelet argument can take multiple IP addresses separated with commas, but k0sctl cannot:
```yaml
spec:
hosts:
- role: controller+worker
privateAddress: 192.168.1.50,2a12:xxxx:xxxx:xxxx::x
```
`FATA configuration validation failed: spec: (hosts: host #1: privateAddress: must be a valid IP address..). `

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.