Puncte:1

systemd termină serviciul etcd început cu podman - recepția este permisă numai pentru PID principal

drapel jp

Încerc să încep etcd ca serviciu systemd rulat într-un container cu podman.

După pornire, primesc acest jurnal de erori de la systemd:

systemd[1]: etcd.service: Am primit un mesaj de notificare de la PID 4696, dar recepția este permisă numai pentru PID-ul principal 4868

Dar etcd pare să poată începe o încercare de a notifica demonul container:

21T15:31:08.817Z","caller":"etcdserver/server.go:2500","msg":"versiunea cluster>
21 august 15:31:08 ip-10-0-0-71 podman[4696]: {"level":"info","ts":"2021-08-21T15:31:08.817Z","caller" :"etcdmain/main.go:47","msg":"notificare demon init>
21 august 15:31:08 ip-10-0-0-71 podman[4696]: {"level":"info","ts":"2021-08-21T15:31:08.818Z","caller" :"etcdmain/main.go:53","msg":"notificat cu succes>

Dar systemd pare să nu fie conștient de acest lucru și termină serviciul etcd:

21 aug 15:32:34 ip-10-0-0-71 systemd[1]: etcd.service: start operation time a expirat. Încheiere.
21 august 15:32:35 ip-10-0-0-71 podman[4696]: {"level":"info","ts":"2021-08-21T15:32:35.000Z","caller" :"osutil/interrupt_unix.go:64","msg":"semnul primit>
21 august 15:32:35 ip-10-0-0-71 podman[4696]: {"level":"info","ts":"2021-08-21T15:32:35.000Z","caller" :"embed/etcd.go:367","msg":"se închide serverul etcd","n>

Aceasta este starea serviciului systemd:

$ sudo systemctl status etcd.service
â etcd.service - etcd
     Încărcat: încărcat (/etc/systemd/system/etcd.service; activat; prestabilit furnizor: activat)
     Activ: eșuat (Rezultat: expirare) din sâmb. 2021-08-21 15:32:35 UTC; acum 8 minute
    Proces: 4868 ExecStart=/usr/bin/podman run -p 2380:2380 -p 2379:2379 --volume=/var/lib/etcd:/etcd-data:z --name etcd 842445240665.dkr.ecr.eu -nort>
   PID principal: 4868 (cod=ieșit, stare=0/SUCCES)
        CPU: 3.729s

Acesta este fișierul meu de serviciu al unității systemd pentru etcd început cu podman:

pisica <<EOF | sudo tee /etc/systemd/system/etcd.service
[Unitate]
Descriere=etcd
După=podman_ecr_login.service mk_etcd_data_dir.service

[Serviciu]
Tip = notificare
ExecStart=/usr/bin/podman run -p 2380:2380 -p 2379:2379 --volume=/var/lib/etcd:/etcd-data:z \
 --name etcd <contul-my-aws>.dkr.ecr.eu-north-1.amazonaws.com/etcd:v3.5.0 \
 /usr/local/bin/etcd --data-dir=/etcd-data \
 --name etcd0 \
 --advertise-client-urls http://127.0.0.1:2379 \
 --listen-client-urls http://0.0.0.0:2379 \
 --initial-advertise-peer-urls http://127.0.0.1:2380 \
 --listen-peer-urls http://0.0.0.0:2380 \
 --initial-cluster etcd0=http://127.0.0.1:2380

[Instalare]
WantedBy=multi-user.target
EOF

sudo systemctl enable etcd
sudo systemctl start etcd

Bănuiesc că asta ar putea avea legătură cu Tip = notificare sau poate modul în care folosesc podman sau etcd. Încep etcd într-un mod similar cu cel descris în documentația etcd: Rulați clustere etcd în interiorul containerelor - Rularea unui singur nod etcd. Rulez asta pe Debian 11 cu Podman 3.0.1.

Orice sugestii despre cum pot porni etcd cu podman ca serviciu systemd?

Puncte:0
drapel jp

Conform cu aceasta emite comentariu, aceste servicii ar trebui să fie rulate ca Tip=simplu deoarece nu semnalează înapoi către systemd. Acest relatii cu publicul to podman set it to Tip=exec care, de asemenea, par să funcționeze bine.

După schimbarea la Tip=exec în fișierul meu de unitate de serviciu, acum funcționează:

$ sudo systemctl status etcd.service
â etcd.service - etcd
     Încărcat: încărcat (/etc/systemd/system/etcd.service; activat; prestabilit furnizor: activat)
     Activ: activ (în rulare) din sâmbătă, 21-08-2021, 15:59:23 UTC; acum 1 min 28s
   PID principal: 4662 (podman)
      Sarcini: 11 (limită: 442)
     Memorie: 137,9 M
        CPU: 3.576s
     CGroup: /system.slice/etcd.service
             ââ4662 /usr/bin/podman run -p 2380:2380 -p 2379:2379 --volume=/var/lib/etcd:/etcd-data:z --name etcd <my-aws- cont>.dkr.ecr.eu-north-1.amaz>
             ââ4846 /usr/bin/conmon --api-version 1 -c 616b317dc255ca86b308857dc6a180510fc166975a8a28437f3434111f03e58857dc3434111f03e68857dc3434111f03e68857dc6a180510fc
drapel in
Poate că lucrurile s-au schimbat cu Podman 3.3.0? Citat din [notele de lansare ale Podman v3.3.0](https://github.com/containers/podman/releases/tag/v3.3.0) (lansat în august 2021) _Fișierele unității de sistem generate de podman generate systemd acum folosesc Type= notifică în mod implicit, în loc să folosești fișiere PID._ . Suport pentru `Type=notify` în _etcd_ pare să fie prezent: [main.go](https://github.com/etcd-io/etcd/blob/6a32bbad756b656da23af007ac4a0256b3dab7b5/server/etcdmain/main) [etcdmain/main. .service](https://github.com/etcd-io/etcd/blob/main/contrib/systemd/etcd.service)
drapel jp
@ErikSjölund Interesant! Mulțumesc!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.