k0sproject / k0sproject/k0sctl

MetalLB and Traefik not getting installed in spec.k0s.config section

Open
#635 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
582
Forks
113
Avg merge
2d 13h
Merged PRs (30d)
34

Description

Hi, the extensions to install MetalLB and Traefik is being ignored. The cluster is getting built but these items are not getting configured.

```
apiVersion: k0sctl.k0sproject.io/v1beta1
kind: Cluster
metadata:
name: k0s-cluster
spec:
hosts:
- ssh:
address: 192.168.1.42
user: kube
port: 22
keyPath: ~/.ssh/id_rsa
role: controller
- ssh:
address: 192.168.1.47
user: kube
port: 22
keyPath: ~/.ssh/id_rsa
role: worker
- ssh:
address: 192.168.1.48
user: kube
port: 22
keyPath: ~/.ssh/id_rsa
role: worker
- ssh:
address: 192.168.1.49
user: kube
port: 22
keyPath: ~/.ssh/id_rsa
role: worker
k0s:
version: null
versionChannel: stable
dynamicConfig: false
config:
apiVersion: k0s.k0sproject.io/v1beta1
kind: ClusterConfig
metadata:
name: k0s
spec:
telemetry:
enabled: true
extensions:
helm:
repositories:
- name: traefik
url: https://helm.traefik.io/traefik
- name: bitnami
url: https://charts.bitnami.com/bitnami
charts:
- name: traefik
chartname: traefik/traefik
version: "9.11.0"
namespace: default
- name: metallb
chartname: bitnami/metallb
version: "1.0.1"
namespace: default
values: |2
configInline:
address-pools:
- name: generic-cluster-pool
protocol: layer2
addresses:
- 192.168.1.235-192.168.1.235

```

```
⣿⣿⡇⠀⠀⢀⣴⣾⣿⠟⠁⢸⣿⣿⣿⣿⣿⣿⣿⡿⠛⠁⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀█████████ █████████ ███
⠀⣿⣿⡇⣠⣶⣿⡿⠋⠀⠀⠀⢸⣿⡇⠀⠀⠀⣠⠀⠀⢀⣠⡆⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀███ ███ ███
⠀⣿⣿⣿⣿⣟⠋⠀⠀⠀⠀⠀⢸⣿⡇⠀⢰⣾⣿⠀⠀⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀███ ███ ███
⠀⣿⣿⡏⠻⣿⣷⣤⡀⠀⠀⠀⠸⠛⠁⠀⠸⠋⠁⠀⠀⣿⣿⡇⠈⠉⠉⠉⠉⠉⠉⠉⠉⢹⣿⣿⠀███ ███ ███
⠀⣿⣿⡇⠀⠀⠙⢿⣿⣦⣀⠀⠀⠀⣠⣶⣶⣶⣶⣶⣶⣿⣿⡇⢰⣶⣶⣶⣶⣶⣶⣶⣶⣾⣿⣿⠀█████████ ███ ██████████
k0sctl v0.17.4 Copyright 2023, k0sctl authors.
Anonymized telemetry of usage will be sent to the authors.
By continuing to use k0sctl you agree to these terms:
https://k0sproject.io/licenses/eula
INFO ==> Running phase: Set k0s version
INFO Looking up latest stable k0s version
INFO Using k0s version v1.28.5+k0s.0
INFO ==> Running phase: Connect to hosts
INFO [ssh] 192.168.1.49:22: connected
INFO [ssh] 192.168.1.42:22: connected
INFO [ssh] 192.168.1.48:22: connected
INFO [ssh] 192.168.1.47:22: connected
INFO ==> Running phase: Detect host operating systems
INFO [ssh] 192.168.1.49:22: is running Ubuntu 22.04.3 LTS
INFO [ssh] 192.168.1.48:22: is running Ubuntu 22.04.3 LTS
INFO [ssh] 192.168.1.42:22: is running Ubuntu 22.04.3 LTS
INFO [ssh] 192.168.1.47:22: is running Ubuntu 22.04.3 LTS
INFO ==> Running phase: Acquire exclusive host lock
INFO ==> Running phase: Prepare hosts
INFO ==> Running phase: Gather host facts
INFO [ssh] 192.168.1.47:22: using k0s-worker1 as hostname
INFO [ssh] 192.168.1.48:22: using k0s-worker2 as hostname
INFO [ssh] 192.168.1.49:22: using k0s-worker3 as hostname
INFO [ssh] 192.168.1.42:22: using k0s-control as hostname
INFO [ssh] 192.168.1.47:22: discovered ens33 as private interface
INFO [ssh] 192.168.1.48:22: discovered ens33 as private interface
INFO [ssh] 192.168.1.42:22: discovered ens33 as private interface
INFO [ssh] 192.168.1.49:22: discovered ens33 as private interface
INFO ==> Running phase: Validate hosts
INFO ==> Running phase: Gather k0s facts
INFO ==> Running phase: Validate facts
INFO [ssh] 192.168.1.42:22: validating configuration
INFO ==> Running phase: Configure k0s
INFO [ssh] 192.168.1.42:22: installing new configuration
INFO ==> Running phase: Initialize the k0s cluster
INFO [ssh] 192.168.1.42:22: installing k0s controller
INFO [ssh] 192.168.1.42:22: waiting for the k0s service to start
INFO [ssh] 192.168.1.42:22: waiting for kubernetes api to respond
INFO ==> Running phase: Install workers
INFO [ssh] 192.168.1.47:22: validating api connection to https://192.168.1.42:6443
INFO [ssh] 192.168.1.48:22: validating api connection to https://192.168.1.42:6443
INFO [ssh] 192.168.1.49:22: validating api connection to https://192.168.1.42:6443
INFO [ssh] 192.168.1.42:22: generating a join token for worker 1
INFO [ssh] 192.168.1.42:22: generating a join token for worker 2
INFO [ssh] 192.168.1.42:22: generating a join token for worker 3
INFO [ssh] 192.168.1.47:22: writing join token
INFO [ssh] 192.168.1.48:22: writing join token
INFO [ssh] 192.168.1.49:22: writing join token
INFO [ssh] 192.168.1.48:22: installing k0s worker
INFO [ssh] 192.168.1.47:22: installing k0s worker
INFO [ssh] 192.168.1.49:22: installing k0s worker
INFO [ssh] 192.168.1.48:22: starting service
INFO [ssh] 192.168.1.47:22: starting service
INFO [ssh] 192.168.1.49:22: starting service
INFO [ssh] 192.168.1.47:22: waiting for node to become ready
INFO [ssh] 192.168.1.48:22: waiting for node to become ready
INFO [ssh] 192.168.1.49:22: waiting for node to become ready
INFO ==> Running phase: Release exclusive host lock
INFO ==> Running phase: Disconnect from hosts
INFO ==> Finished in 1m45s
```

```
└─[$]> kubectl get all -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system pod/coredns-85df575cdb-jb77s 0/1 Running 0 73s
kube-system pod/coredns-85df575cdb-w8pqx 0/1 Running 0 83s
kube-system pod/konnectivity-agent-76hgn 1/1 Running 0 76s
kube-system pod/konnectivity-agent-ljf5x 1/1 Running 0 81s
kube-system pod/konnectivity-agent-vdn6c 1/1 Running 0 81s
kube-system pod/kube-proxy-4v8k8 1/1 Running 0 81s
kube-system pod/kube-proxy-cnj8n 1/1 Running 0 81s
kube-system pod/kube-proxy-knwd8 1/1 Running 0 76s
kube-system pod/kube-router-9wlld 1/1 Running 0 76s
kube-system pod/kube-router-qhks9 1/1 Running 0 81s
kube-system pod/kube-router-spsj8 1/1 Running 0 81s
kube-system pod/metrics-server-7556957bb7-6nfvk 0/1 Running 0 83s

NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default service/kubernetes ClusterIP 10.96.0.1 443/TCP 108s
kube-system service/kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 98s
kube-system service/metrics-server ClusterIP 10.101.157.132 443/TCP 94s

NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
kube-system daemonset.apps/konnectivity-agent 3 3 3 3 3 kubernetes.io/os=linux 97s
kube-system daemonset.apps/kube-proxy 3 3 3 3 3 kubernetes.io/os=linux 98s
kube-system daemonset.apps/kube-router 3 3 3 3 3 98s

NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
kube-system deployment.apps/coredns 0/2 2 0 98s
kube-system deployment.apps/metrics-server 0/1 1 0 94s

NAMESPACE NAME DESIRED CURRENT READY AGE
kube-system replicaset.apps/coredns-85df575cdb 2 2 0 84s
kube-system replicaset.apps/metrics-server-7556957bb7 1 1 0 84s
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the spec.k0s.config.extensions.helm section and compare it with the configuration processed during the Configure k0s phase; then inspect the kubectl get all -A output for chart resources. Done means the supplied Traefik and MetalLB charts are installed after k0sctl completes, with the requested MetalLB values applied.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, helm, kubernetes
Domain
devops, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.