community-content
community-content copied to clipboard
How to set up K3S, GlusterFS and Hetzner's cloud load balancer
Problem
When I try to install k3s on the master node with:
--disable-cloud-controller \
--disable metrics-server \
--write-kubeconfig-mode=644 \
--disable local-storage \
--node-name="$(hostname -f)" \
--cluster-cidr="10.244.0.0/16" \
--kube-controller-manager-arg="address=0.0.0.0" \
--kube-controller-manager-arg="bind-address=0.0.0.0" \
--kube-proxy-arg="metrics-bind-address=0.0.0.0" \
--kube-scheduler-arg="address=0.0.0.0" \
--kube-scheduler-arg="bind-address=0.0.0.0" \
--kubelet-arg="cloud-provider=external" \
--token="<your_secret_token>" \
--tls-san="$(hostname -I | awk '{print $2}')" \
--flannel-iface=ens10
Than I run into the following error:
root@master-1:~# journalctl -xe
Jul 26 19:10:56 master-1 k3s[1918]: Logs flags:
Jul 26 19:10:56 master-1 k3s[1918]: --log-flush-frequency duration Maximum number of seconds between log flushes (default 5s)
Jul 26 19:10:56 master-1 k3s[1918]: --logging-format string Sets the log format. Permitted formats: "text".
Jul 26 19:10:56 master-1 k3s[1918]: Non-default formats don't honor these flags: --add-dir-header, --alsologtostderr, --log-backtrace-at, --log-dir, --log-file, --log-file-max-size, --logtostderr, --one-output,
Jul 26 19:10:56 master-1 k3s[1918]: Non-default choices are currently alpha and subject to change without warning. (default "text")
Jul 26 19:10:56 master-1 k3s[1918]: -v, --v Level number for the log level verbosity
Jul 26 19:10:56 master-1 k3s[1918]: --vmodule pattern=N,... comma-separated list of pattern=N settings for file-filtered logging (only works for text log format)
Jul 26 19:10:56 master-1 k3s[1918]: Global flags:
Jul 26 19:10:56 master-1 k3s[1918]: --add_dir_header If true, adds the file directory to the header of the log messages (DEPRECATED: will be removed in a future release, see https://github.com/kubernetes/enhancements/tree/mast
Jul 26 19:10:56 master-1 k3s[1918]: --alsologtostderr log to standard error as well as files (DEPRECATED: will be removed in a future release, see https://github.com/kubernetes/enhancements/tree/master/keps/sig-instrumentation/
Jul 26 19:10:56 master-1 k3s[1918]: -h, --help help for kube-scheduler
Jul 26 19:10:56 master-1 k3s[1918]: --log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0) (DEPRECATED: will be removed in a future release, see https://github.com/kubernetes/enhancements/tree/master/k
Jul 26 19:10:56 master-1 k3s[1918]: --log_dir string If non-empty, write log files in this directory (DEPRECATED: will be removed in a future release, see https://github.com/kubernetes/enhancements/tree/master/keps/sig-instrum
Jul 26 19:10:56 master-1 k3s[1918]: --log_file string If non-empty, use this log file (DEPRECATED: will be removed in a future release, see https://github.com/kubernetes/enhancements/tree/master/keps/sig-instrumentation/2845-de
Jul 26 19:10:56 master-1 k3s[1918]: --log_file_max_size uint Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800) (DEPRECATED: will be removed in a f
Jul 26 19:10:56 master-1 k3s[1918]: --logtostderr log to standard error instead of files (default true) (DEPRECATED: will be removed in a future release, see https://github.com/kubernetes/enhancements/tree/master/keps/sig-i
Jul 26 19:10:56 master-1 k3s[1918]: --one_output If true, only write logs to their native severity level (vs also writing to each lower severity level) (DEPRECATED: will be removed in a future release, see https://github.c
Jul 26 19:10:56 master-1 k3s[1918]: --skip_headers If true, avoid header prefixes in the log messages (DEPRECATED: will be removed in a future release, see https://github.com/kubernetes/enhancements/tree/master/keps/sig-inst
Jul 26 19:10:56 master-1 k3s[1918]: --skip_log_headers If true, avoid headers when opening log files (DEPRECATED: will be removed in a future release, see https://github.com/kubernetes/enhancements/tree/master/keps/sig-instrumen
Jul 26 19:10:56 master-1 k3s[1918]: --stderrthreshold severity logs at or above this threshold go to stderr (default 2) (DEPRECATED: will be removed in a future release, see https://github.com/kubernetes/enhancements/tree/master/keps/si
Jul 26 19:10:56 master-1 k3s[1918]: --version version[=true] Print version information and quit
Jul 26 19:10:56 master-1 k3s[1918]: time="2022-07-26T19:10:56Z" level=fatal msg="scheduler exited: unknown flag: --address"
Jul 26 19:10:56 master-1 systemd[1]: k3s.service: Main process exited, code=exited, status=1/FAILURE
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- An ExecStart= process belonging to unit k3s.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 1.
Jul 26 19:10:56 master-1 systemd[1]: k3s.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- The unit k3s.service has entered the 'failed' state with result 'exit-code'.
Jul 26 19:10:56 master-1 systemd[1]: Failed to start Lightweight Kubernetes.
-- Subject: A start job for unit k3s.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit k3s.service has finished with a failure.
--
-- The job identifier is 375 and the job result is failed.
lines 1745-1788/1788 (END)
and k3s doesn't start
Suggested Fix
I have no idea 🤷♂️
@Billito00 who can help me on that point?
@virtualzone it looks like you wrote the tutorial, can you help here?
https://github.com/hetzneronline/community-content/blob/1ad703ce0c025fefa3a41d4b4b0f83b7608da82c/tutorials/k3s-glusterfs-loadbalancer/01.en.md?plain=1#L121
@greenchapter Please try to omit these two lines:
--kube-controller-manager-arg="address=0.0.0.0" \
and
--kube-scheduler-arg="address=0.0.0.0" \
@greenchapter Please try to omit these two lines:
--kube-controller-manager-arg="address=0.0.0.0" \
and--kube-scheduler-arg="address=0.0.0.0" \
Thank you very much, that was the solution. I will open a Pull Request for that.