From bb9068ccec467e58a68ba234625c6e608e552591 Mon Sep 17 00:00:00 2001 From: Parul Date: Fri, 24 Sep 2021 09:18:36 -0400 Subject: [PATCH 1/2] systemd unit file for microshift-containerized Signed-off-by: Parul --- hack/microshift-containerized/README.md | 81 +++++++++++++++++++ .../microshift-containerized | 8 ++ .../microshift-containerized.service | 24 ++++++ 3 files changed, 113 insertions(+) create mode 100644 hack/microshift-containerized/README.md create mode 100755 hack/microshift-containerized/microshift-containerized create mode 100644 hack/microshift-containerized/microshift-containerized.service diff --git a/hack/microshift-containerized/README.md b/hack/microshift-containerized/README.md new file mode 100644 index 0000000000..91a6961943 --- /dev/null +++ b/hack/microshift-containerized/README.md @@ -0,0 +1,81 @@ +# Containerized Microshift + +## Pre-requisite + +Before runnng microshift-containerized as a systemd service, ensure to update the host `crio-bridge.conf` as + +```bash +{ + "cniVersion": "0.4.0", + "name": "crio", + "type": "bridge", + "bridge": "cni0", + "isGateway": true, + "ipMasq": true, + "hairpinMode": true, + "ipam": { + "type": "host-local", + "routes": [ + { "dst": "0.0.0.0/0" } + ], + "ranges": [ + [{ "subnet": "10.42.0.0/24" }] + ] + } +} +``` +## Run microshift-containerized as a systemd service + +Copy microshift-containerized unit file to `/etc/systemd` and the microshift-containerized run script to `/usr/bin` + +```bash +sudo cp microshift-containerized.service /etc/systemd/system/microshift-containerized.service +sudo cp microshift-containerized /usr/bin/ +``` +Now enable and start the service. The KUBECONFIG location will be written to `/etc/microshift-containerized/microshift-containerized.conf`. + + +```bash +sudo systemctl enable microshift-containerized --now +source /etc/microshift-containerized/microshift-containerized.conf +``` + +Verify that microshift is running. +``` +kubectl get pods -A +``` + +Stop microshift-containerized service + +```bash +systemctl stop microshift-containerized +``` + +You can check microshift-containerized via + +```bash +sudo podman ps +sudo critcl ps +``` + +To access the cluster on the host or inside the container + +### Access the cluster inside the container +Execute the following command to get into the container: + +```bash +sudo podman exec -ti microshift-containerized bash +``` +Inside the container, run the following to see the pods: + +```bash +export KUBECONFIG=/var/lib/microshift/resources/kubeadmin/kubeconfig +kubectl get pods -A +``` + +### Access the cluster on the host +#### Linux +```bash +export KUBECONFIG=/var/lib/microshift/resources/kubeadmin/kubeconfig +kubectl get pods -A -w +``` \ No newline at end of file diff --git a/hack/microshift-containerized/microshift-containerized b/hack/microshift-containerized/microshift-containerized new file mode 100755 index 0000000000..3b4b1065b3 --- /dev/null +++ b/hack/microshift-containerized/microshift-containerized @@ -0,0 +1,8 @@ +#!/bin/bash + +set -euxo pipefail + +[[ -d /etc/microshift-containerized ]] || mkdir -p /etc/microshift-containerized +cat < /etc/microshift-containerized/microshift-containerized.conf +export KUBECONFIG=/var/lib/microshift/resources/kubeadmin/kubeconfig +EOF \ No newline at end of file diff --git a/hack/microshift-containerized/microshift-containerized.service b/hack/microshift-containerized/microshift-containerized.service new file mode 100644 index 0000000000..59323f3f4e --- /dev/null +++ b/hack/microshift-containerized/microshift-containerized.service @@ -0,0 +1,24 @@ +# container-microshift-containerized.service +# autogenerated by Podman 3.1.2 +# Wed Sep 29 13:15:18 EDT 2021 + +[Unit] +Description=Podman container-microshift-containerized.service +Documentation=man:podman-generate-systemd(1) +Wants=network.target +After=network-online.target +RequiresMountsFor=/var/lib/containers/storage /run/containers/storage + +[Service] +Environment=PODMAN_SYSTEMD_UNIT=%n +Restart=on-failure +TimeoutStopSec=70 +ExecStartPre=/bin/rm -f %t/container-microshift-containerized.pid %t/container-microshift-containerized.ctr-id +ExecStart=/usr/bin/podman run --conmon-pidfile %t/container-microshift-containerized.pid --cidfile %t/container-microshift-containerized.ctr-id --cgroups=no-conmon --replace --privileged -d --rm --name microshift-containerized -v /var/run:/var/run -v /sys:/sys:ro -v /var/lib:/var/lib:rw,rshared -v /lib/modules:/lib/modules -v /etc:/etc -v /run/containers:/run/containers -v /var/log:/var/log -e KUBECONFIG=/var/lib/microshift/resources/kubeadmin/kubeconfig quay.io/microshift/microshift:4.7.0-0.microshift-2021-08-31-224727-linux-amd64 +ExecStop=/usr/bin/podman stop --ignore --cidfile %t/container-microshift-containerized.ctr-id -t 10 +ExecStopPost=/usr/bin/podman rm --ignore -f --cidfile %t/container-microshift-containerized.ctr-id +PIDFile=%t/container-microshift-containerized.pid +Type=forking + +[Install] +WantedBy=multi-user.target default.target From a50a57002f2fc0f613f7e11da0cb18e4004c1e84 Mon Sep 17 00:00:00 2001 From: Parul Date: Mon, 4 Oct 2021 10:15:33 -0400 Subject: [PATCH 2/2] consolidate systemd unit files in packaging/systemd Signed-off-by: Parul --- {hack => docs}/microshift-containerized/README.md | 4 ++-- .../systemd}/microshift-containerized | 0 .../systemd}/microshift-containerized.service | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename {hack => docs}/microshift-containerized/README.md (91%) rename {hack/microshift-containerized => packaging/systemd}/microshift-containerized (100%) rename {hack/microshift-containerized => packaging/systemd}/microshift-containerized.service (100%) diff --git a/hack/microshift-containerized/README.md b/docs/microshift-containerized/README.md similarity index 91% rename from hack/microshift-containerized/README.md rename to docs/microshift-containerized/README.md index 91a6961943..0f0d6a9169 100644 --- a/hack/microshift-containerized/README.md +++ b/docs/microshift-containerized/README.md @@ -29,8 +29,8 @@ Before runnng microshift-containerized as a systemd service, ensure to update th Copy microshift-containerized unit file to `/etc/systemd` and the microshift-containerized run script to `/usr/bin` ```bash -sudo cp microshift-containerized.service /etc/systemd/system/microshift-containerized.service -sudo cp microshift-containerized /usr/bin/ +sudo cp packaging/systemd/microshift-containerized.service /etc/systemd/system/microshift-containerized.service +sudo cp packaging/systemd/microshift-containerized /usr/bin/ ``` Now enable and start the service. The KUBECONFIG location will be written to `/etc/microshift-containerized/microshift-containerized.conf`. diff --git a/hack/microshift-containerized/microshift-containerized b/packaging/systemd/microshift-containerized similarity index 100% rename from hack/microshift-containerized/microshift-containerized rename to packaging/systemd/microshift-containerized diff --git a/hack/microshift-containerized/microshift-containerized.service b/packaging/systemd/microshift-containerized.service similarity index 100% rename from hack/microshift-containerized/microshift-containerized.service rename to packaging/systemd/microshift-containerized.service