How to install kubeadm so that the immutability does not break his operation

@Misekayek0l Install it and start it?

What do you mean?

@Misekayek0l why are you not using the default packages for Leap Micro? Why does it point at a non default location in the service…

Because they don’t exist.

My combustion script:

#!/bin/bash

cp vconsole.conf /etc/vconsole.conf && chmod 644 /etc/vconsole.conf
rm /etc/localtime && ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
echo root:root | chpasswd

cp sshd_config /etc/ssh
mkdir -p /root/.ssh
echo ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHP4XZN0Bp/Kv121hUqy3OseUjHISwHGJAcoN6Sa3Qim admin@homelab >> /root/.ssh/authorized_keys
echo ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3JVldjU1Z/63atWlfPUESKo5V4EDT6tMhwYRQl8Bxg kein@kein.epest >> /root/.ssh/authorized_keys

# combustion: network
exec > >(exec tee -a /dev/tty0) 2>&1
echo test
#!/bin/bash

echo Schrift 1
#transactional-update --non-interactive --continue up
echo Schrift 2
zypper --non-interactive install --no-recommends containerd conntrack-tools socat ethtool
echo Schrift 3

CNI_PLUGINS_VERSION="v1.3.0"
ARCH="amd64"
DEST="/opt/cni/bin"
mkdir -p "$DEST"
curl -L "https://github.com/containernetworking/plugins/releases/download/${CNI_PLUGINS_VERSION}/cni-plugins-linux-${ARCH}-${CNI_PLUGINS_VERSION}.tgz" |  tar -C "$DEST" -xz

DOWNLOAD_DIR="/usr/local/bin"
mkdir -p "$DOWNLOAD_DIR"

CRICTL_VERSION="v1.28.0"
ARCH="amd64"
curl -L "https://github.com/kubernetes-sigs/cri-tools/releases/download/${CRICTL_VERSION}/crictl-${CRICTL_VERSION}-linux-${ARCH}.tar.gz" |  tar -C $DOWNLOAD_DIR -xz

RELEASE="$(curl -sSL https://dl.k8s.io/release/stable.txt)"
ARCH="amd64"
cd $DOWNLOAD_DIR
curl -L --remote-name-all https://dl.k8s.io/release/${RELEASE}/bin/linux/${ARCH}/{kubeadm,kubelet}
chmod +x {kubeadm,kubelet}

RELEASE_VERSION="v0.16.2"
curl -sSL "https://raw.githubusercontent.com/kubernetes/release/${RELEASE_VERSION}/cmd/krel/templates/latest/kubelet/kubelet.service" | sed "s:/usr/bin:${DOWNLOAD_DIR}:g" |  tee /etc/systemd/system/kubelet.service
 mkdir -p /etc/systemd/system/kubelet.service.d
curl -sSL "https://raw.githubusercontent.com/kubernetes/release/${RELEASE_VERSION}/cmd/krel/templates/latest/kubeadm/10-kubeadm.conf" | sed "s:/usr/bin:${DOWNLOAD_DIR}:g" |  tee /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

mkdir -p /etc/modules-load.d

tee /etc/modules-load.d/containerd.conf << EOF
overlay
br_netfilter
EOF

cat <<EOF |  tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

mkdir -p /etc/sysctl.d
cat <<EOF |  tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

modprobe overlay
modprobe br_netfilter
sysctl --system

systemctl enable --now containerd
systemctl enable --now kubelet

kubeadm init

@Misekayek0l So switch to MicroOS… use k3s or rke2?

containerd is part of Leap Micro

What is the MicroOS version for Leap Micro Preconfigured Image?

@Misekayek0l the latest is 5.5?

Just tried RKE2 and it failed, and don’t want to use K3S because it is IoT

@Misekayek0l since I don’t run Leap Micro, can’t really help…

What do you run?

@Misekayek0l MicroOS for RKE2/Rancher and K3s both on bare-metal. Then have vm’s as well.

What is MicroOS for rancher?

@Misekayek0l Rancher is for Kubernetes management https://www.rancher.com/ I just use RKE2 for it.

It’s all running on openSUSE MicroOS, I use the self install image onto storage (NVMe or SSD) and then combustion to set the whole system up, just plug in USB, boot and comeback in a few minutes and all done.

Sorry just tried RKE2 in MicroOS, not Micro Leap

Can you start a new thread on this.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.