k3s не запускается как daemoan, но работает при запуске вручную из командной строки

Я пытаюсь установить k3s в операционной системе Redhat на экземпляре EC2 (t3.xlarge).

Версия ОС:

      $ cat /etc/*release
NAME="Red Hat Enterprise Linux"
VERSION="8.6 (Ootpa)"

Я устанавливаю MySQL на сервер. Это команды установки:

      export K3S_DATASTORE_ENDPOINT='mysql://user:password@tcp(localhost:3306)/db_name'
curl -sfL https://get.k3s.io | sh -s - server --node-taint CriticalAddonsOnly=true:NoExecute --tls-san locahost

Однако я получаю ошибки:

      $ systemctl status k3s.service
● k3s.service - Lightweight Kubernetes
   Loaded: loaded (/etc/systemd/system/k3s.service; enabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since Sun 2022-09-11 15:03:05 UTC; 5s ago
     Docs: https://k3s.io
  Process: 71759 ExecStartPre=/bin/sh -xc ! /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service (code=exited, status=1/FAILURE)

Sep 11 15:03:05 ip-172-31-28-136.eu-central-1.compute.internal systemd[1]: k3s.service: Failed with result 'exit-code'.
Sep 11 15:03:05 ip-172-31-28-136.eu-central-1.compute.internal systemd[1]: Failed to start Lightweight Kubernetes.
Sep 11 15:03:10 ip-172-31-28-136.eu-central-1.compute.internal systemd[1]: k3s.service: Service RestartSec=5s expired, scheduling restart.
Sep 11 15:03:10 ip-172-31-28-136.eu-central-1.compute.internal systemd[1]: k3s.service: Scheduled restart job, restart counter is at 109.
Sep 11 15:03:10 ip-172-31-28-136.eu-central-1.compute.internal systemd[1]: Stopped Lightweight Kubernetes.

Однако мне удается запустить вручную, используя:

      k3s server

Какие результаты:

      $ k3s kubectl get nodes
NAME                                             STATUS   ROLES                  AGE   VERSION
ip-172-31-28-136.eu-central-1.compute.internal   Ready    control-plane,master   14m   v1.24.4+k3s1

В чем проблема?

1 ответ

Я знаю, что прошло много времени с тех пор, как вы опубликовали это, но я столкнулся с той же проблемой, и все сводилось к синтаксической ошибке в сценарии запуска systemd. Если вы посмотрите /etc/systemd/system/k3s.service, вы увидите следующую строку:

ExecStartPre=/bin/sh -xc '! /usr/bin/systemctl включен --quiet nm-cloud-setup.service'

Команда "/bin/sh -xc '!" часть была проблемой. Если заменить эту строку на эту:

ExecStartPre=/usr/bin/systemctl включен --quiet nm-cloud-setup.service

Все будет работать так, как ожидалось.

Другие вопросы по тегам