ການເປີດໃຊ້ງານ ຄອນເທນເນີ (Container)

ບົດນຳ

Fedora CoreOS ມາພ້ອມກັບທັງເຄື່ອງມື docker CLI (ທີ່ໃຫ້ມາໂດຍ Moby) ແລະ podman ທີ່ຕິດຕັ້ງໄວ້ແລ້ວ. ໜ້ານີ້ຈະອະທິບາຍວິທີການໃຊ້ systemd units ເພື່ອເລີ່ມ ແລະ ຢຸດ ຄອນເທນເນີ ດ້ວຍ podman.

ຕົວຢ່າງການກຳນົດຄ່າ

ຕົວຢ່າງການກຳນົດຄ່າ Butane ຕໍ່ໄປນີ້ແມ່ນການຕັ້ງຄ່າ systemd hello.service ເພື່ອເປີດໃຊ້ງານ busybox.

ທ່ານອາດຈະສາມາດນຳໃຊ້ການອ້າງອີງໄຟລ໌ພາຍໃນເຄື່ອງໄປຫາ systemd units ແທນທີ່ຈະຂຽນລົງໃນໄຟລ໌ໂດຍກົງ. ເບິ່ງ ການນຳໃຊ້ພາລາມີເຕີ --files-dir ຂອງ butane ເພື່ອຝັງໄຟລ໌ ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ.
ຕົວຢ່າງການເປີດໃຊ້ງານ busybox ໂດຍໃຊ້ systemd ແລະ podman
variant: fcos
version: 1.7.0
systemd:
  units:
    - name: hello.service
      enabled: true
      contents: |
        [Unit]
        Description=MyApp
        After=network-online.target
        Wants=network-online.target

        [Service]
        TimeoutStartSec=0
        ExecStartPre=-/bin/podman kill busybox1
        ExecStartPre=-/bin/podman rm busybox1
        ExecStartPre=/bin/podman pull busybox
        ExecStart=/bin/podman run --name busybox1 busybox /bin/sh -c "trap 'exit 0' INT TERM; while true; do echo Hello World; sleep 1; done"

        [Install]
        WantedBy=multi-user.target
ຕົວຢ່າງການເປີດໃຊ້ງານ busybox ໂດຍໃຊ້ Podman Quadlet

Podman Quadlet ແມ່ນຟັງຊັນທີ່ລວມຢູ່ໃນ podman ເຊິ່ງຊ່ວຍໃຫ້ສາມາດເລີ່ມ ຄອນເທນເນີ ຜ່ານ systemd ໂດຍໃຊ້ systemd generator. ຕົວຢ່າງຂ້າງລຸ່ມນີ້ແມ່ນ hello.service ດຽວກັນກັບທີ່ສະແດງກ່ອນໜ້ານີ້ ແຕ່ຖືກນຳໃຊ້ຜ່ານຟັງຊັນ Podman Quadlet.

variant: fcos
version: 1.7.0
storage:
  files:
    - path: /etc/containers/systemd/hello.container
      contents:
        inline: |
          [Unit]
          Description=Hello Service
          Wants=network-online.target
          After=network-online.target

          [Container]
          ContainerName=busybox1
          Image=docker.io/busybox
          Exec=/bin/sh -c "trap 'exit 0' INT TERM; while true; do echo Hello World; sleep 1; done"

          [Install]
          WantedBy=multi-user.target

ການເປີດໃຊ້ງານ etcd

etcd ບໍ່ໄດ້ຖືກລວມມາເປັນສ່ວນໜຶ່ງຂອງ Fedora CoreOS. ເພື່ອໃຊ້ງານມັນ, ໃຫ້ເປີດໃຊ້ເປັນ ຄອນເທນເນີ ດັ່ງທີ່ສະແດງໄວ້ຂ້າງລຸ່ມນີ້.

ການກຳນົດຄ່າ Butane ສຳລັບການຕັ້ງຄ່າ etcd ແບບ node ດຽວ
variant: fcos
version: 1.7.0
systemd:
  units:
    - name: etcd-member.service
      enabled: true
      contents: |
        [Unit]
        Description=Run single node etcd
        After=network-online.target
        Wants=network-online.target

        [Service]
        ExecStartPre=mkdir -p /var/lib/etcd
        ExecStartPre=-/bin/podman kill etcd
        ExecStartPre=-/bin/podman rm etcd
        ExecStartPre=-/bin/podman pull quay.io/coreos/etcd
        ExecStart=/bin/podman run --name etcd --volume /var/lib/etcd:/etcd-data:z --net=host quay.io/coreos/etcd:latest /usr/local/bin/etcd --data-dir /etcd-data --name node1 \
                --initial-advertise-peer-urls http://127.0.0.1:2380 --listen-peer-urls http://127.0.0.1:2380 \
                --advertise-client-urls http://127.0.0.1:2379 \
                --listen-client-urls http://127.0.0.1:2379 \
                --initial-cluster node1=http://127.0.0.1:2380

        ExecStop=/bin/podman stop etcd

        [Install]
        WantedBy=multi-user.target

ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ

ເບິ່ງ ເອກະສານຂອງ etcd ສຳລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການເປີດໃຊ້ງານ etcd ໃນ ຄອນເທນເນີ ແລະ ວິທີການຕັ້ງຄ່າ etcd ແບບຫຼາຍ node.