2023-05-31 13:30:01 +02:00
{
"cells": [
{
"cell_type": "markdown",
"id": "3c047009",
"metadata": {},
"source": [
2023-05-31 13:40:53 +02:00
"# Kubernetes\n",
"\n",
"<img style=\"height: 150px;\" src=\"img/kubernetes_logo.png\"/>"
2023-05-31 13:30:01 +02:00
]
},
{
"cell_type": "markdown",
2023-05-31 13:40:53 +02:00
"id": "8b27f9bb",
2023-05-31 13:30:01 +02:00
"metadata": {},
"source": [
"Kubernets (aka. K8s) - system służący do automatyzacji:\n",
" - deployemntu\n",
" - skalowania\n",
" - zarządzania \n",
" skonteneryzowanymi aplikacjami"
]
},
{
"cell_type": "markdown",
2023-05-31 13:40:53 +02:00
"id": "ce90b7e7",
2023-05-31 13:30:01 +02:00
"metadata": {},
"source": [
"## Motywacja\n",
2023-05-31 13:40:53 +02:00
"- Kubernetes jest środowiskiem, w którym działa Kubeflow - system stworzony z myślą o rozwoju i deploymencie modeli ML"
2023-05-31 13:30:01 +02:00
]
},
{
"cell_type": "markdown",
2023-05-31 13:40:53 +02:00
"id": "251b4267",
2023-05-31 13:30:01 +02:00
"metadata": {},
"source": [
"## Instalacja\n",
"- Instalacja do nauki i eksperymentów (nieprodukcyjna): https://minikube.sigs.k8s.io/docs/start/"
]
},
{
"cell_type": "markdown",
2023-05-31 13:40:53 +02:00
"id": "5bad769c",
2023-05-31 13:30:01 +02:00
"metadata": {},
"source": [
"## Hello Minikube - interaktywny samouczek\n",
"1. Otwórz stronę: https://kubernetes.io/pl/docs/tutorials/hello-minikube/\n",
"2. Kliknij na \"Launch Terminal\" i wykonuj polecenia w otwartym terminalu (możesz klikać na fragmentach kodu a same przekopiują się do terminala i uruchomią)\n",
"\n",
"Większość interaktywnych samouczków z kubernetes.io przestała działać z końcem marca (https://kubernetes.io/blog/2023/02/14/kubernetes-katacoda-tutorials-stop-from-2023-03-31/), ale ten powyżej (i czasami niektóre inne, jeśli macie szczęście) wciąż działa"
]
},
{
"cell_type": "markdown",
2023-05-31 13:40:53 +02:00
"id": "1f3bc2f7",
2023-05-31 13:30:01 +02:00
"metadata": {},
"source": [
"## Terminologia\n",
"- Pod - (z angielskiego \"strąk\", np. strąk groszku, ale też grupa wielorybów <\"pod of whales\">)\n",
" grupa jednego lub więcej kontenerów wraz z przynależnymi wolumenami (volumes), adresem IP i informacją jak mogą być uruchomione\n",
"<img style=\"height: 200px;\" src=\"img/pod.jpg\"/>\n",
2023-05-31 13:40:53 +02:00
"- Node (węzeł) - pody (jeden lub więcej) są uruchamiane na węzłach - maszynach (fizycznych lub wirtualnych). Na każdym węźle jest uruchomiony proces \"kublet\", służący do komunikacji z \"control plane\", czyli serwerem kontrolującym klaster\n",
2023-05-31 13:30:01 +02:00
"- Cluster - grupa węzłów\n",
2023-05-31 13:40:53 +02:00
"- Service - abstrakcja zapewniająca stabilny dostęp do Podów. Ponieważ Pod-y są efemeryczne, mogą być uruchamiane automatczynie np. w wyniki awarii węzła. Service definiuje jakie Pod-y (np. z jaką etykietą) są dostępne pod danym portem (więcej informacji: https://kubernetes.io/docs/concepts/services-networking/service/)\n",
"\n",
"- Schemat klastra: https://kubernetes.io/docs/concepts/overview/components/"
2023-05-31 13:30:01 +02:00
]
},
{
"cell_type": "markdown",
2023-05-31 13:40:53 +02:00
"id": "803a1108",
2023-05-31 13:30:01 +02:00
"metadata": {},
"source": [
"## Materiały\n",
"Zapoznaj się z następującymi materiałami:\n",
"1. https://kubernetes.io/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/\n",
"1. https://kubernetes.io/pl/docs/tutorials/kubernetes-basics/explore/explore-intro/\n",
"2. https://kubernetes.io/pl/docs/tutorials/kubernetes-basics/expose/expose-intro/"
]
2023-05-31 13:40:53 +02:00
},
{
"cell_type": "markdown",
"id": "c21daf1a",
"metadata": {},
"source": [
"## Zadanie\n",
"Brak ;)"
]
2023-05-31 13:30:01 +02:00
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.16"
}
},
"nbformat": 4,
"nbformat_minor": 5
}