Usando contêineres
Configuração de exemplo
The following Butane config snippet configures the systemd hello.service
to run busybox.
Você pode usar referências de arquivos locais para unidades do systemd em vez de fazer "inlining". Consulte Usando o parâmetro --files-dir do Butane para incorporar arquivos para obter mais informações.
|
Exemplo para executar o busybox utilizando o systemd e o podman
variant: fcos
version: 1.5.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
Example for running busybox using Podman Quadlet
Podman Quadlet is functionality included in podman that allows starting containers via systemd using a systemd generator. The example below is the same hello.service
that was previously shown but deployed via the Podman Quadlet functionality.
variant: fcos
version: 1.5.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
Executando etcd
etcd is not shipped as part of Fedora CoreOS. To use it, run it as a container, as shown below.
Butane config for setting up single node etcd
variant: fcos
version: 1.5.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
Para mais informações
See the etcd documentation for more information on running etcd in containers and how to set up multi-node etcd.
Want to help? Learn how to contribute to Fedora Docs ›