Initial commit: IHK Ausbildung materials
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
# 9.3 Virtualisierung
|
||||
|
||||
## Virtualisierung - Grundlagen
|
||||
|
||||
### Was ist Virtualisierung?
|
||||
|
||||
```
|
||||
Virtualisierung
|
||||
Mehrere virtuelle Maschinen auf einer
|
||||
physischen Hardware betreiben
|
||||
```
|
||||
|
||||
### Vorteile
|
||||
|
||||
| Vorteil | Beschreibung |
|
||||
|---------|-------------|
|
||||
| Kosteneinsparung | Weniger Hardware |
|
||||
| Flexibilität | Schnell bereitgestellt |
|
||||
| Isolation | Getrennte Umgebungen |
|
||||
| Skalierung | Leicht erweiterbar |
|
||||
| Testumgebung | Schnell aufgesetzt |
|
||||
|
||||
---
|
||||
|
||||
## Virtualisierungstypen
|
||||
|
||||
### Full Virtualization
|
||||
|
||||
```
|
||||
Gast-OS läuft unverändert
|
||||
├── VMware Workstation
|
||||
├── VirtualBox
|
||||
└── Hyper-V
|
||||
```
|
||||
|
||||
### Para-Virtualization
|
||||
|
||||
```
|
||||
Gast-OS weiß von Virtualisierung
|
||||
├── Xen
|
||||
└── Citrix XenServer
|
||||
```
|
||||
|
||||
### Container-Virtualisierung
|
||||
|
||||
```
|
||||
Leichtgewichtige Virtualisierung
|
||||
├── Docker
|
||||
├── Podman
|
||||
└── Kubernetes
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Docker
|
||||
|
||||
### Grundlagen
|
||||
|
||||
```
|
||||
Docker - Begriffe
|
||||
├── Image: Vorlage (Template)
|
||||
├── Container: Laufende Instanz
|
||||
├── Dockerfile: Image-Beschreibung
|
||||
├── Registry: Image-Speicher
|
||||
└── Volume: Persistenter Speicher
|
||||
```
|
||||
|
||||
### Docker-Befehle
|
||||
|
||||
```bash
|
||||
# Container starten
|
||||
docker run -d -p 8080:80 nginx
|
||||
|
||||
# Container auflisten
|
||||
docker ps
|
||||
docker ps -a
|
||||
|
||||
# Container stoppen
|
||||
docker stop container_id
|
||||
|
||||
# Image bauen
|
||||
docker build -t mein-image .
|
||||
|
||||
# Container entfernen
|
||||
docker rm container_id
|
||||
```
|
||||
|
||||
### Dockerfile
|
||||
|
||||
```dockerfile
|
||||
# Basis-Image
|
||||
FROM node:18-alpine
|
||||
|
||||
# Arbeitsverzeichnis
|
||||
WORKDIR /app
|
||||
|
||||
# Dateien kopieren
|
||||
COPY package*.json ./
|
||||
COPY . .
|
||||
|
||||
# Abhängigkeiten installieren
|
||||
RUN npm install
|
||||
|
||||
# Port freigeben
|
||||
EXPOSE 3000
|
||||
|
||||
# Startbefehl
|
||||
CMD ["node", "server.js"]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Kubernetes
|
||||
|
||||
### Architektur
|
||||
|
||||
```
|
||||
Kubernetes - Komponenten
|
||||
├── Master Node
|
||||
│ ├── API Server
|
||||
│ ├── Scheduler
|
||||
│ ├── Controller Manager
|
||||
│ └── etcd
|
||||
├── Worker Nodes
|
||||
│ ├── Kubelet
|
||||
│ ├── Kube Proxy
|
||||
│ └── Container Runtime
|
||||
└── Add-ons (DNS, Dashboard)
|
||||
```
|
||||
|
||||
### Kubernetes-Objekte
|
||||
|
||||
| Objekt | Beschreibung |
|
||||
|--------|-------------|
|
||||
| Pod | Kleinste Einheit (1+ Container) |
|
||||
| Deployment | Replikate, Updates |
|
||||
| Service | Netzwerkzugriff |
|
||||
| Ingress | HTTP-Routing |
|
||||
| ConfigMap | Konfiguration |
|
||||
| Secret | Sensitive Daten |
|
||||
|
||||
---
|
||||
|
||||
## Cloud-Computing
|
||||
|
||||
### Service-Modelle
|
||||
|
||||
```
|
||||
Cloud - Modelle
|
||||
├── IaaS: Infrastructure as a Service
|
||||
│ └── Virtuelle Maschinen, Netzwerk
|
||||
├── PaaS: Platform as a Service
|
||||
│ └── Laufzeitumgebung
|
||||
└── SaaS: Software as a Service
|
||||
└── Fertige Anwendung
|
||||
```
|
||||
|
||||
### Anbieter
|
||||
|
||||
| Anbieter | Service |
|
||||
|----------|----------|
|
||||
| AWS | EC2, S3, Lambda |
|
||||
| Azure | VMs, Blob, Functions |
|
||||
| Google Cloud | Compute Engine, Cloud Storage |
|
||||
|
||||
---
|
||||
|
||||
## Querverweise
|
||||
|
||||
- [[LF9-02-Server|Zurück: Server]]
|
||||
- [[LF9-04-Monitoring|Nächstes Thema: Monitoring]]
|
||||
|
||||
---
|
||||
|
||||
*Stand: 2024*
|
||||
Reference in New Issue
Block a user