<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>microk8s &#8211; webmatze.de</title>
	<atom:link href="https://webmatze.de/tag/microk8s/feed/" rel="self" type="application/rss+xml" />
	<link>https://webmatze.de</link>
	<description>Profi Tipps für einen erfolgreichen Internetauftritt</description>
	<lastBuildDate>Mon, 06 Nov 2023 22:19:10 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>Wie man schnell einen lokalen Kubernetes HA Cluster mit MicroK8s bauen kann</title>
		<link>https://webmatze.de/wie-man-schnell-einen-lokalen-kubernetes-ha-cluster-mit-microk8s-bauen-kann/</link>
					<comments>https://webmatze.de/wie-man-schnell-einen-lokalen-kubernetes-ha-cluster-mit-microk8s-bauen-kann/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Wed, 10 Feb 2021 12:15:06 +0000</pubDate>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[k8s]]></category>
		<category><![CDATA[kubernetes]]></category>
		<category><![CDATA[microk8s]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://webmatze.de/?p=928</guid>

					<description><![CDATA[Hier erfahrt ihr, wie ihr schnell einen lokalen Kubernetes Cluster mit 3 Nodes aufsetzen könnt. Wir verwenden dabei das MicroK8s Tool von Canonical.]]></description>
										<content:encoded><![CDATA[
<p id="block-3b485dc0-c781-4d25-a9fb-d3d3f842cdc3">Hier erfahrt ihr, wie ihr schnell einen lokalen Kubernetes Cluster mit 3 Nodes aufsetzen könnt. Wir verwenden dabei das MicroK8s Tool von Canonical.</p>



<h2 class="wp-block-heading">1. Drei Unbuntu VMs erstellen</h2>



<p>Wir benötigen für einen hochverfügbaren <strong><a href="https://microk8s.io/">MicroK8s</a></strong> Cluster mindestens 3 Nodes. Wir nutzen das Tool <a href="https://multipass.run/">multipass</a> um diese auf unserem Host-System (z.B. MacOS) anzulegen:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash"># Installieren können wir multipass unter MacOS über Homebrew
brew install --cask multipass

# zuerst erstellen wir nun unsere Master-Node
multipass launch -m 4Gb -n master

# und dann die beiden Slave-Nodes
multipass launch -m 4Gb -n slave1
multipass launch -m 4Gb -n slave2</code></pre>



<p>Wir sollten den einzelnen Nodes mindestens 4GB Arbeitsspeicher zuweisen, damit unser Cluster richtig funktionieren kann.</p>



<div class="wp-block-coblocks-alert is-style-info" style="background-color:;color:" aria-label="Alert section of type info"><p class="wp-block-coblocks-alert__text">Natürlich könnten wir hier auch einfach gleich unsere richtige Hardware nutzen und den Schritt mit den VMs überspringen, aber zum Testen empfehle ich auf jeden Fall erst einmal VMs zu nutzen!</p></div>



<h2 class="wp-block-heading">2. MicroK8s auf allen Nodes installieren</h2>



<p>Als nächstes müssen wir <strong>MicroK8s</strong> auf allen unseren soeben erstellten Nodes installieren. <strong>MicroK8s</strong> läßt sich ganz einfach als <strong>Snap</strong> Paket mit allen Abhängigkeiten installieren.</p>



<p>Am besten nutzen wir dazu 3 separate Terminal-Fenster, oder verwenden <code>tmux</code>, damit wir dies parallel durchführen können.</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash"># wir verbinden uns mit der master Node und installieren dort microk8s
multipass shell master
sudo snap install microk8s --classic

# dann müssen wir noch ein paar Rechte setzen (auf allen Nodes wiederholen)
sudo usermod -a -G microk8s ubuntu
sudo chown -f -R ubuntu ~/.kube
# nun einmal aus der Shell ausloggen und wieder verbinden

# damit wir wissen, wann die Node bereit steht, können wir folgenden Befehl verwenden
microk8s status --wait-ready

# das selbe wiederholen wir auf den einzelnen slaves
multipass shell slave1
sudo snap install microk8s --classic
microk8s status --wait-ready

multipass shell slave2
sudo snap install microk8s --classic
microk8s status --wait-ready
</code></pre>



<h2 class="wp-block-heading">3. Multi-Node Cluster erstellen</h2>



<p>Nachdem alle unsere Nodes hochgefahren sind und sich initialisiert haben, können wir diese zu einem Cluster verbinden.</p>



<p>Dazu führen wir folgende Befehl für jede Node die wir hinzufügen wollen auf unserer <code>master</code> Node aus:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash"># auf unserer Master-Node ausführen
microk8s add-node

# wir bekommen dann folgende Ausgabe
Join node with:
microk8s join ip-172-31-20-243:25000/DDOkUupkmaBezNnMheTBqFYHLWINGDbf

If the node you are adding is not reachable through the default interface 
you can use one of the following:
microk8s join 10.1.84.0:25000/DDOkUupkmaBezNnMheTBqFYHLWINGDbf
microk8s join 10.22.254.77:25000/DDOkUupkmaBezNnMheTBqFYHLWINGDbf</code></pre>



<p>Wir können nun die <strong>Join-Befehle</strong> kopieren und diese auf den einzelnen <strong>Slave-Nodes</strong> ausführen:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash"># ersten Join-Befehl auf slave1 ausführen
microk8s join ip-172-31-20-243:25000/DDOkUupkmaBezNnMheTBqFYHLWINGDbf

# nächsten Join-Befehl auf slave2 ausführen
microk8s join ip-172-31-20-243:25000/7972409d9f18aa049ec5db65571b0c4b</code></pre>



<p>Auf unserer <strong>Master-Node</strong> können wir nun mit folgenden Befehl abfragen, ob sich die <strong>Slave-Nodes</strong> erfolgreich verbunden haben und der Cluster steht:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash"># auf dem master ausführen
watch microk8s kubectl get no

# wenn alles fertig ist, sollte es etwa so aussehen
Every 2.0s: microk8s kubectl get no                                                                                                                                                                                                             master: Fri Feb  5 18:44:10 2021

NAME     STATUS   ROLES    AGE     VERSION
slave1   Ready    &lt;none&gt;   7m10s   v1.20.1-34+e7db93d188d0d1
slave2   Ready    &lt;none&gt;   107s    v1.20.1-34+e7db93d188d0d1
master   Ready    &lt;none&gt;   12m     v1.20.1-34+e7db93d188d0d1</code></pre>



<p>Wir nutzen hier den <code>watch</code> Befehl, damit wir nicht immerzu erneut unsere Abfrage eingeben müssen, bis sich alle Nodes verbunden haben.</p>



<p>Mit <code>ctrl-c</code> können wir den <code>watch</code>-Befehl abbrechen und starten unseren frischen MicroK8s Cluster zu nutzen.</p>



<h2 class="wp-block-heading">4. Alles wieder löschen</h2>



<p>Wenn wir genug haben von unserem Test-Cluster, können wir die ganzen Nodes wieder löschen.</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash"># schauen, welche VMs laufen
multipass list

Name                    State             IPv4             Image
master                  Running           192.168.64.4     Ubuntu 20.04 LTS
slave1                  Running           192.168.64.5     Ubuntu 20.04 LTS
slave2                  Running           192.168.64.6     Ubuntu 20.04 LTS

# alles stoppen und löschen
multipass stop --all
multipass delete --all
multipass purge</code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/wie-man-schnell-einen-lokalen-kubernetes-ha-cluster-mit-microk8s-bauen-kann/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
