Điểm:1

systemd chấm dứt dịch vụ etcd bắt đầu với podman - chỉ được phép tiếp nhận đối với PID chính

lá cờ jp

tôi cố gắng bắt đầu v.v. dưới dạng dịch vụ systemd chạy trong vùng chứa với người bán rong.

Sau khi bắt đầu, tôi nhận được nhật ký lỗi này từ systemd:

systemd[1]: etcd.service: Nhận tin nhắn thông báo từ PID 4696, nhưng chỉ được phép nhận đối với PID 4868 chính

Nhưng etcd dường như có thể bắt đầu thử thông báo cho daemon vùng chứa:

21T15:31:08.817Z","caller":"etcdserver/server.go:2500","msg":"cluster version>
Ngày 21 tháng 8 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":"thông báo init daemon>
Ngày 21 tháng 8 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":"đã thông báo thành công>

Nhưng systemd dường như không nhận thức được điều đó và chấm dứt dịch vụ etcd:

Ngày 21 tháng 8 15:32:34 ip-10-0-0-71 systemd[1]: etcd.service: hết thời gian bắt đầu hoạt động. Chấm dứt.
Ngày 21 tháng 8 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":"đã nhận được dấu hiệu>
Ngày 21 tháng 8 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":"đóng máy chủ etcd","n>

Đây là trạng thái dịch vụ systemd:

$ sudo systemctl status etcd.service
â etcd.service - etcd
     Đã tải: đã tải (/etc/systemd/system/etcd.service; đã bật; giá trị đặt sẵn của nhà cung cấp: đã bật)
     Hoạt động: không thành công (Kết quả: hết thời gian chờ) kể từ Thứ Bảy 2021-08-21 15:32:35 UTC; 8 phút trước
    Quá trình: 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 chính: 4868 (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
        CPU: 3.729 giây

Đây là tệp dịch vụ đơn vị systemd của tôi cho etcd bắt đầu với podman:

con mèo <<EOF | sudo tee /etc/systemd/system/etcd.service
[Đơn vị]
Mô tả=etcd
Sau=podman_ecr_login.service mk_etcd_data_dir.service

[Dịch vụ]
Gõ=thông báo
ExecStart=/usr/bin/podman run -p 2380:2380 -p 2379:2379 --volume=/var/lib/etcd:/etcd-data:z \
 --name etcd <my-aws-account>.dkr.ecr.eu-north-1.amazonaws.com/etcd:v3.5.0 \
 /usr/local/bin/etcd --data-dir=/etcd-data \
 --tên vvd0 \
 --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

[Cài đặt]
WantedBy=multi-user.target
EOF

sudo systemctl kích hoạt vvd
Sudo systemctl bắt đầu vvd

Tôi nghi ngờ rằng điều này có thể liên quan đến Gõ=thông báo hoặc có lẽ cách tôi sử dụng podman hoặc etcd. Tôi bắt đầu etcd theo cách tương tự như được mô tả trong tài liệu về etcd: Chạy các cụm vvd bên trong các thùng chứa - Chạy một nút đơn vvd. Tôi chạy cái này trên Debian 11 với Podman 3.0.1.

Bạn có đề xuất nào về cách tôi có thể bắt đầu etcd với podman dưới dạng dịch vụ systemd không?

Điểm:0
lá cờ jp

theo cái này bình luận vấn đề, các dịch vụ này sẽ được chạy dưới dạng Loại = đơn giản vì chúng không báo hiệu trở lại systemd. Cái này PR để podman đặt nó thành Loại = thực thi mà dường như cũng làm việc tốt.

Sau khi đổi thành Loại = thực thi trong tệp đơn vị dịch vụ của tôi, nó hiện hoạt động:

$ sudo systemctl status etcd.service
â etcd.service - etcd
     Đã tải: đã tải (/etc/systemd/system/etcd.service; đã bật; giá trị đặt sẵn của nhà cung cấp: đã bật)
     Hoạt động: hoạt động (đang chạy) kể từ Thứ Bảy 2021-08-21 15:59:23 UTC; 1 phút 28 giây trước
   PID chính: 4662 (podman)
      Nhiệm vụ: 11 (giới hạn: 442)
     Bộ nhớ: 137,9M
        CPU: 3.576s
     Nhóm C: /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- tài khoản>.dkr.ecr.eu-north-1.amaz>
             ââ4846 /usr/bin/conmon --api-version 1 -c 616b317dc255ca86b308857dc6a180510fc166975a8a28437f3434111f03e7ad -u 616b317dc255ca86b308857dc6a>
lá cờ in
Có lẽ mọi thứ đã thay đổi với Podman 3.3.0? Trích dẫn từ [ghi chú phát hành của Podman v3.3.0](https://github.com/containers/podman/releases/tag/v3.3.0) (phát hành vào tháng 8 năm 2021) _Các tệp đơn vị hệ thống được tạo bởi podman tạo systemd hiện sử dụng Type= thông báo theo mặc định, thay vì sử dụng tệp PID._ . Có vẻ như hỗ trợ cho `Type=notify` trong _etcd_: [main.go](https://github.com/etcd-io/etcd/blob/6a32bbad756b656da23af007ac4a0256b3dab7b5/server/etcdmain/main.go#L48) [etcd .service](https://github.com/etcd-io/etcd/blob/main/contrib/systemd/etcd.service)
lá cờ jp
@ErikSjölund Thật thú vị! Cảm ơn bạn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.