Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Release-1.27] - K3s should not disable etcd and apiserver when used with kine #9800

Closed
vitorsavian opened this issue Mar 27, 2024 · 1 comment
Assignees
Milestone

Comments

@vitorsavian
Copy link
Member

Backport fix for K3s should not disable etcd and apiserver when used with kine

@VestigeJ
Copy link

VestigeJ commented Apr 4, 2024

##Environment Details
Reproduced using VERSION=v1.27.12+k3s1
Validated using COMMIT=9176d7f68aa2de7c2d83d921d6e09a7ee7b2d9f0

Infrastructure

  • Cloud

Node(s) CPU architecture, OS, and version:

Linux 5.14.21-150500.53-default x86_64 GNU/Linux
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP5"

Config.yaml:

node-external-ip: 18.16.115.15
token: YOUR_TOKEN_HERE
write-kubeconfig-mode: 644
debug: true
selinux: true
protect-kernel-defaults: true

Reproduction

$ curl https://get.k3s.io --output install-"k3s".sh
$ sudo chmod +x install-"k3s".sh
$ sudo groupadd --system etcd && sudo useradd -s /sbin/nologin --system -g etcd etcd
$ sudo modprobe ip_vs_rr
$ sudo modprobe ip_vs_wrr
$ sudo modprobe ip_vs_sh
$ sudo printf "on_oovm.panic_on_oom=0 \nvm.overcommit_memory=1 \nkernel.panic=10 \nkernel.panic_ps=1 \nkernel.panic_on_oops=1 \n" > ~/90-kubelet.conf
$ sudo cp 90-kubelet.conf /etc/sysctl.d/
$ sudo systemctl restart systemd-sysctl
$ COMMIT=9176d7f68aa2de7c2d83d921d6e09a7ee7b2d9f0
$ sudo INSTALL_K3S_COMMIT=$COMMIT INSTALL_K3S_SKIP_ENABLE=true ./install-k3s.sh
$ sudo /usr/local/bin/k3s server --datastore-endpoint "test" --disable-etcd -s "https://192.168.1.0:6443"

Results:

// before the code fix panic

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x213afe2]

goroutine 1 [running]:
github.com/k3s-io/k3s/pkg/clientaccess.(*Info).Get(0x0, {0x5e5872f, 0x8}, {0x0, 0x0, 0x0})
	/go/src/github.com/k3s-io/k3s/pkg/clientaccess/token.go:279 +0x42
github.com/k3s-io/k3s/pkg/etcd.ClientURLs({0xc0012442d0?, 0x0?}, 0xc0005b2f50?, {0x0, 0x0})
	/go/src/github.com/k3s-io/k3s/pkg/etcd/etcd.go:1367 +0x6d
github.com/k3s-io/k3s/pkg/cluster.(*Cluster).Start(0xc0012442d0, {0x6d21f50?, 0xc0005b2f50})
	/go/src/github.com/k3s-io/k3s/pkg/cluster/cluster.go:47 +0x105
github.com/k3s-io/k3s/pkg/daemons/control.prepare({0x6d21f50, 0xc0005b2f50}, 0xc00064aa08)
	/go/src/github.com/k3s-io/k3s/pkg/daemons/control/server.go:259 +0x2ff
github.com/k3s-io/k3s/pkg/daemons/control.Server({0x6d21f50?, 0xc0005b2f50}, 0xc00064aa08)
	/go/src/github.com/k3s-io/k3s/pkg/daemons/control/server.go:33 +0xec
github.com/k3s-io/k3s/pkg/server.StartServer({0x6d21f50?, 0xc0005b2f50}, 0xc00064aa00, 0x1?)
	/go/src/github.com/k3s-io/k3s/pkg/server/server.go:56 +0x85
github.com/k3s-io/k3s/pkg/cli/server.run(0xc00031bce0, 0xa50b0c0, {0xc00114a9b8, 0x0, 0x0?}, {0xc00114a9b8, 0x0, 0xa0abd20?})
	/go/src/github.com/k3s-io/k3s/pkg/cli/server/server.go:490 +0x33ba
github.com/k3s-io/k3s/pkg/cli/server.Run(0xc00031bce0?)
	/go/src/github.com/k3s-io/k3s/pkg/cli/server/server.go:44 +0x2f
github.com/urfave/cli.HandleAction({0x5267860?, 0x64e5c30?}, 0x6?)
	/go/pkg/mod/github.com/urfave/cli@v1.22.14/app.go:524 +0x50
github.com/urfave/cli.Command.Run({{0x5e35f48, 0x6}, {0x0, 0x0}, {0x0, 0x0, 0x0}, {0x5fddddd, 0x15}, {0xc000cb37b8, ...}, ...}, ...)
	/go/pkg/mod/github.com/urfave/cli@v1.22.14/command.go:175 +0x63e
github.com/urfave/cli.(*App).Run(0xc000d93340, {0xc00098b420, 0xd, 0xe})
	/go/pkg/mod/github.com/urfave/cli@v1.22.14/app.go:277 +0xb27
main.main()
	/go/src/github.com/k3s-io/k3s/cmd/server/main.go:80 +0xbfb

// after code fix

$ sudo /usr/local/bin/k3s server --datastore-endpoint "test" --disable-etcd -s "https://192.168.1.0:6443"

INFO[0000] Acquiring lock file /var/lib/rancher/k3s/data/.lock
INFO[0000] Preparing data dir /var/lib/rancher/k3s/data/3e10c5d6b990410c727e5656a2e48ba769e5f294038ccba0767efcb2214ca4a0
FATA[0000] invalid flag use; cannot use --disable-etcd with --datastore-endpoint

@VestigeJ VestigeJ closed this as completed Apr 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done Issue
Development

No branches or pull requests

3 participants