Alfred Sabitzer - K8s Applications mit MicroK8S auf Raspberry PI

Здесь есть возможность читать онлайн «Alfred Sabitzer - K8s Applications mit MicroK8S auf Raspberry PI» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: unrecognised, на немецком языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

K8s Applications mit MicroK8S auf Raspberry PI: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «K8s Applications mit MicroK8S auf Raspberry PI»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Beispiele für das Entwickeln und Betreiben von Anwendungen auf einem MicroK8s Kubernetes Cluster auf Raspberry PI Basis. Es werden die folgenden Elemente beschrieben
Infrastrukturservices
◦ Repository
◦ NTP
◦ LDAP
◦ Secretmanagement
Monitoringservices
◦ Prometheus
◦ Grafana
◦ Alert-Agent
Storage und Backup
◦ Longhorn
◦ Externe Storage
Webservice – Stateful
◦ Joomla
◦ PostgresDB
Gitlab
◦ Build-Pipelines
◦ GitRunner
Buildautomatisierung
◦ Eigene einfache Buildpipeline
◦ kpt
◦ kustomize
Servicemesh Linkerd
Alle Services werden als yaml-File beschrieben.

K8s Applications mit MicroK8S auf Raspberry PI — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «K8s Applications mit MicroK8S auf Raspberry PI», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Labels: app=hello-world

pod-template-hash=6bb7844865

Annotations: cni.projectcalico.org/podIP: 10.1.80.118/32

cni.projectcalico.org/podIPs: 10.1.80.118/32

sidecar.istio.io/inject: false

Status: Running

IP: 10.1.80.118

IPs:

IP: 10.1.80.118

Controlled By: ReplicaSet/hello-world-6bb7844865

Containers:

hello-world:

Container ID: containerd://e9d5a90c4ac98c57f9f27bdbe88b0bd5535d4e297ecbb103118a963d554615a9

Image: docker.registry:5000/hello-world:20211003

Image ID: docker.registry:5000/hello-world@sha256:1bb9b5564a34689396c097bb410a837d5e074b61caff822cb43921f425b09a50

Port:

Host Port:

State: Waiting

Reason: CrashLoopBackOff

Last State: Terminated

Reason: Completed

Exit Code: 0

Started: Sun, 03 Oct 2021 20:56:08 +0200

Finished: Sun, 03 Oct 2021 20:56:08 +0200

Ready: False

Restart Count: 1

Limits:

cpu: 1

memory: 64Mi

Requests:

cpu: 500m

memory: 24Mi

Liveness: exec [/hello-world] delay=5s timeout=1s period=10s #success=1 #failure=3

Readiness: exec [/hello-world] delay=3s timeout=1s period=3s #success=1 #failure=3

Environment:

FOO: bar

Mounts:

/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-vtwl2 (ro)

Conditions:

Type Status

Initialized True

Ready False

ContainersReady False

PodScheduled True

Volumes:

kube-api-access-vtwl2:

Type: Projected (a volume that contains injected data from multiple sources)

TokenExpirationSeconds: 3607

ConfigMapName: kube-root-ca.crt

ConfigMapOptional:

DownwardAPI: true

QoS Class: Burstable

Node-Selectors:

Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s

node.kubernetes.io/unreachable:NoExecute op=Exists for 300s

Events:

Type Reason Age From Message

---- ------ ---- ---- -------

Normal Scheduled 23s default-scheduler Successfully assigned default/hello-world-6bb7844865-4j5bw to pc5

Warning BackOff 14s (x4 over 19s) kubelet Back-off restarting failed container

Normal Pulled 1s (x3 over 22s) kubelet Container image "docker.registry:5000/hello-world:20211003" already present on machine

Normal Created 1s (x3 over 22s) kubelet Created container hello-world

Normal Started 1s (x3 over 21s) kubelet Started container hello-world

alfred@pc1:/opt/cluster/go$

alfred@pc1:/opt/cluster/go$ kubectl get pod hello-world-6bb7844865-4j5bw

NAME READY STATUS RESTARTS AGE

hello-world-6bb7844865-4j5bw 0/1 CrashLoopBackOff 4 108s

alfred@pc1:/opt/cluster/go$

alfred@pc1:/opt/cluster/go$ kubectl logs hello-world-6bb7844865-4j5bw

hello world

alfred@pc1:/opt/cluster/go$

Das heist, der Service wird ordnungsgemäß installiert, läuft auch einmal und terminiert dann (so ist das Programm). Aus Kubernetes Sicht wird aber über das Deployment versucht den Service wieder herzustellen. Daher wird er permanent restarted. Für das Hello-World Prinzip reicht das. Für einen richtigen Service aber natürlich nicht.

Darum löschen wir den Service auch wieder.

alfred@pc1:/opt/cluster/go$ kubectl delete -f hello-world.yaml

deployment.apps "hello-world" deleted

service "hello-world-service" deleted

alfred@pc1:/opt/cluster/go$

Aber wir haben nun ein funktionierendes Setup. Können auf der Entwicklungsmaschine docker-Container erzeugen, diese in das Repository am Kubernetes Cluster einspielen, und den Service dann auch starten.

Golang IDE

Inspiration:

https://golang.org/doc/articles/wiki/

https://github.com/visualfc/liteide

https://linuxize.com/post/how-to-install-atom-text-editor-on-ubuntu-20-04/

https://www.gophercoders.com/install/atom/configure/

https://snapcraft.io/install/liteide-tpaw/ubuntu

https://elearning.wsldp.com/pcmagazine/install-liteide-on-ubuntu/

Um vernünftig Go Programme entwicklen zu können, braucht man eine vernünftige IDE. Neben IntelliJ (leider nicht in der Community-Edition) gibt es noch LiteIDE sowie den beliebten Editor Atom (wahrscheinlich gibt es noch viele andere). Ich verwenden den Atom-Editor.

Abbildung 10 Atom Editor Nachdem das Plugin eingerichtet ist kann man das - фото 12Abbildung 10: Atom Editor

Nachdem das Plugin eingerichtet ist, kann man das Projekt bereits editieren.

Damit alles funktioniert muß natürlich go selbst vorhanden sein.

Abbildung 11 Atom Konfiguriert Man kann aber auch LiteIDE benutzen Abbildung - фото 13Abbildung 11: Atom Konfiguriert

Man kann aber auch LiteIDE benutzen.

Abbildung 12 LiteIDE Womit man am liebsten arbeitet muß jeder für sich selbst - фото 14Abbildung 12: LiteIDE

Womit man am liebsten arbeitet, muß jeder für sich selbst entscheiden.

Was auch immer man installiert, meine Rat ist die Applikation nicht über snap zu installieren (wegen des Isolation-Levels), sondern direkt. Die Interaktion zwischen den Snaps (setzen von Variablen usw.) funktioniert sonst unter Umständen nicht wie erwartet.

Am Beispiel von LiteIDE. Siehe auch https://elearning.wsldp.com/pcmagazine/install-liteide-on-ubuntu/

Download der richtigen Datei, entpacken nach /usr/local. Danach wird für den bequement Start eine desktop Datei erzeugt.

[Desktop Entry]

Version=1.0

Name=LiteIDE

Comment="IDE for editing and building projects written in the Go programming language"

GenericName=GoIDE

Exec=/usr/local/liteide/bin/liteide

Terminal=false

Type=Application

Icon=/usr/local/liteide/share/liteide/welcome/images/liteide128.xpm

Categories=Development;

StartupNotify=true

Diese Datei wird dann mit dem Statement

alfred@bureau:~$ cd Schreibtisch/

alfred@bureau:~/Schreibtisch$ ll

insgesamt 480

drwx-----T 2 alfred alfred 4096 Okt 10 09:23 ./

drwx-----T 49 alfred alfred 479232 Okt 10 09:24 ../

-rw-r--r-- 1 alfred alfred 361 Okt 10 09:22 LiteIDE.desktop

alfred@bureau:~/Schreibtisch$ sudo desktop-file-install LiteIDE.desktop

alfred@bureau:~/Schreibtisch$

nach

alfred@bureau:~/Schreibtisch$ ll /usr/share/applications/LiteIDE.desktop

-rw-r--r-- 1 root root 361 Okt 10 09:30 /usr/share/applications/LiteIDE.desktop

alfred@bureau:~/Schreibtisch$

kopiert, und leicht modifiziert. Ab dann kann man im Launcher diese Applikation zu den Favoriten hinzufügen.

Abbildung 13 LiteIDE zu Favoriten hinzufügen Ab jetzt ist der Start leicht - фото 15Abbildung 13: LiteIDE zu Favoriten hinzufügen

Ab jetzt ist der Start leicht.

Abbildung 14 LiteIDE System Environment Jetzt muß nur noch das - фото 16Abbildung 14: LiteIDE System Environment

Jetzt muß nur noch das Systemenvironment richtig sein, dann steht dem Entwickeln, testen, Debuggen nichts mehr im Wege.

Lens – the Kubernetes IDE

Inspiration:

https://k8slens.dev/

https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/

https://dev.to/anaisintech/getting-started-with-kubernetes-kubectl-and-microk8s-on-ubuntu-pko

https://microk8s.io/docs/services-and-ports

https://microk8s.io/docs/troubleshooting

Lens ist eine recht vernünftige IDE um mit Kubernetes zu arbeiten. Unter Ubuntu kann das direkt aus dem Software-Repository installiert werden.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «K8s Applications mit MicroK8S auf Raspberry PI»

Представляем Вашему вниманию похожие книги на «K8s Applications mit MicroK8S auf Raspberry PI» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «K8s Applications mit MicroK8S auf Raspberry PI»

Обсуждение, отзывы о книге «K8s Applications mit MicroK8S auf Raspberry PI» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x