Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions docs/gemstones/test_cpu_compat.de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
title: Test der CPU-Kompatibilität
author: Steven Spencer
contributors: Louis Abel, Ganna Zhyrnova
tags:
- cpu test
---

# Einleitung

Seit der Veröffentlichung von Rocky Linux 9 sind einige Installationen auf x86-64-Plattformen beim Start mit einer Kernel-Panic-Meldung fehlgeschlagen. In den meisten Fällen ist dies auf die ==Inkompatibilität der CPU mit Rocky Linux 9== zurückzuführen. Mit diesem Verfahren wird die CPU-Kompatibilität vor der Installation überprüft. **Update:** Dieses Verfahren spiegelt nun auch die Mindestprozessorkompatibilität für Rocky Linux 10 wider.

## Testen

1. Besorgen Sie sich ein Boot-Image von Rocky Linux 8, Fedora oder anderen.

2. Booten Sie dieses Live-Image auf dem Computer, auf dem Sie Rocky Linux 9 installieren möchten.

3. Nachdem der Startvorgang abgeschlossen ist, öffnen Sie ein Terminalfenster und führen Sie dieses Kommando aus:

```bash
/lib64/ld-linux-x86-64.so.2 --help | grep x86-64
```

Sie sollten eine Ausgabe erhalten, die etwa dieser ähnelt:

```bash
Usage: /lib64/ld-linux-x86-64.so.2 [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
This program interpreter self-identifies as: /lib64/ld-linux-x86-64.so.2
x86-64-v4
x86-64-v3
x86-64-v2 (supported, searched)
```

Diese Ausgabe gibt die minimal erforderliche x86-64-Version (v2) an. In diesem Fall kann die Installation fortgesetzt werden. Wenn Sie neben `x86-64-v2` kein Eintrag (`supported, searched`) sehen, ist Ihre CPU nicht mit Rocky Linux 9.x kompatibel. Wenn der Test anzeigt, dass Ihre Installation fortgesetzt werden kann und x86-64-v3 (erforderlich für Rocky Linux 10) und x86-64-v4 auch als `(supported, searched)` aufgeführt werden, wird Ihre CPU für 9.x und zukünftige Versionen gut unterstützt.
94 changes: 94 additions & 0 deletions docs/labs/kubernetes-the-hard-way/lab11-pod-network-routes.de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
author: Wale Soyinka
contributors: Steven Spencer, Ganna Zhyrnova
tags:
- kubernetes
- k8s
- Laborübung
- runc
- containerd
- etcd
- kubectl
---

# Labor 11: Bereitstellung von Pod-Netzwerkrouten

!!! info

Dies ist ein Fork des ursprünglichen ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way), das ursprünglich von Kelsey Hightower geschrieben wurde [(GitHub: kelseyhightower)](https://github.com/kelseyhightower). Im Gegensatz zum Original, das auf Debian-ähnlichen Distributionen für die ARM64-Architektur basiert, zielt dieser Fork auf Enterprise-Linux-Distributionen wie Rocky Linux ab, das auf der x86_64-Architektur läuft.

Für einen Knoten geplante Pods erhalten eine IP-Adresse aus dem Pod-CIDR-Bereich des Knotens. Derzeit können Pods aufgrund fehlender [Netzwerkrouten] (https://cloud.google.com/compute/docs/vpc/routes) nicht mit anderen Pods kommunizieren, die auf anderen Knoten ausgeführt werden.

In diesem Labor erstellen Sie für jeden Worker-Knoten eine Route, die den Pod-CIDR-Bereich des Knotens der internen IP-Adresse des Knotens zuordnet.

> Es gibt auch [andere Möglichkeiten](https://kubernetes.io/docs/concepts/cluster-administration/networking/#how-to-achieve-this), das Kubernetes-Netzwerkmodell zu implementieren.

## Routing-Tabelle

In diesem Abschnitt sammeln Sie die erforderlichen Informationen zum Erstellen von Routen im VPC-Netzwerk `kubernetes-the-hard-way`.

Drucken Sie die interne IP-Adresse und den Pod-CIDR-Bereich für jede Worker-Instanz:

```bash
{
SERVER_IP=$(grep server machines.txt | cut -d " " -f 1)
NODE_0_IP=$(grep node-0 machines.txt | cut -d " " -f 1)
NODE_0_SUBNET=$(grep node-0 machines.txt | cut -d " " -f 5)
NODE_1_IP=$(grep node-1 machines.txt | cut -d " " -f 1)
NODE_1_SUBNET=$(grep node-1 machines.txt | cut -d " " -f 5)
}
```

```bash
ssh root@server <<EOF
ip route add ${NODE_0_SUBNET} via ${NODE_0_IP}
ip route add ${NODE_1_SUBNET} via ${NODE_1_IP}
EOF
```

```bash
ssh root@node-0 <<EOF
ip route add ${NODE_1_SUBNET} via ${NODE_1_IP}
EOF
```

```bash
ssh root@node-1 <<EOF
ip route add ${NODE_0_SUBNET} via ${NODE_0_IP}
EOF
```

## Verifizierung

```bash
ssh root@server ip route
```

```text
default via XXX.XXX.XXX.XXX dev ens160
10.200.0.0/24 via XXX.XXX.XXX.XXX dev ens160
10.200.1.0/24 via XXX.XXX.XXX.XXX dev ens160
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX
```

```bash
ssh root@node-0 ip route
```

```text
default via XXX.XXX.XXX.XXX dev ens160
10.200.1.0/24 via XXX.XXX.XXX.XXX dev ens160
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX
```

```bash
ssh root@node-1 ip route
```

```text
default via XXX.XXX.XXX.XXX dev ens160
10.200.0.0/24 via XXX.XXX.XXX.XXX dev ens160
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX
```

Weiter: [Smoke Test](lab12-smoke-test.md)
94 changes: 94 additions & 0 deletions docs/labs/kubernetes-the-hard-way/lab11-pod-network-routes.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
author: Wale Soyinka
contributors: Steven Spencer, Ganna Zhyrnova
tags:
- kubernetes
- k8s
- lab exercise
- runc
- containerd
- etcd
- kubectl
---

# Lab 11: Provisioning Pod Network Routes

!!! info

This is a fork of the original ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way) originally written by Kelsey Hightower (GitHub: kelseyhightower). Unlike the original, which bases itself on Debian-like distributions for the ARM64 architecture, this fork targets Enterprise Linux distributions such as Rocky Linux, which runs on x86_64 architecture.

Pods scheduled to a node receive an IP address from the node's Pod CIDR range. Currently, pods cannot communicate with other pods running on different nodes due to missing network [routes](https://cloud.google.com/compute/docs/vpc/routes).

In this lab, you will create a route for each worker node that maps the node's Pod CIDR range to the node's internal IP address.

> There are [other ways](https://kubernetes.io/docs/concepts/cluster-administration/networking/#how-to-achieve-this) to implement the Kubernetes networking model.

## The Routing Table

In this section, you will gather the information required to create routes in the `kubernetes-the-hard-way` VPC network.

Print the internal IP address and Pod CIDR range for each worker instance:

```bash
{
SERVER_IP=$(grep server machines.txt | cut -d " " -f 1)
NODE_0_IP=$(grep node-0 machines.txt | cut -d " " -f 1)
NODE_0_SUBNET=$(grep node-0 machines.txt | cut -d " " -f 5)
NODE_1_IP=$(grep node-1 machines.txt | cut -d " " -f 1)
NODE_1_SUBNET=$(grep node-1 machines.txt | cut -d " " -f 5)
}
```

```bash
ssh root@server <<EOF
ip route add ${NODE_0_SUBNET} via ${NODE_0_IP}
ip route add ${NODE_1_SUBNET} via ${NODE_1_IP}
EOF
```

```bash
ssh root@node-0 <<EOF
ip route add ${NODE_1_SUBNET} via ${NODE_1_IP}
EOF
```

```bash
ssh root@node-1 <<EOF
ip route add ${NODE_0_SUBNET} via ${NODE_0_IP}
EOF
```

## Verification

```bash
ssh root@server ip route
```

```text
default via XXX.XXX.XXX.XXX dev ens160
10.200.0.0/24 via XXX.XXX.XXX.XXX dev ens160
10.200.1.0/24 via XXX.XXX.XXX.XXX dev ens160
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX
```

```bash
ssh root@node-0 ip route
```

```text
default via XXX.XXX.XXX.XXX dev ens160
10.200.1.0/24 via XXX.XXX.XXX.XXX dev ens160
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX
```

```bash
ssh root@node-1 ip route
```

```text
default via XXX.XXX.XXX.XXX dev ens160
10.200.0.0/24 via XXX.XXX.XXX.XXX dev ens160
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX
```

Next: [Smoke Test](lab12-smoke-test.md)
94 changes: 94 additions & 0 deletions docs/labs/kubernetes-the-hard-way/lab11-pod-network-routes.fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
author: Wale Soyinka
contributors: Steven Spencer, Ganna Zhyrnova
tags:
- kubernetes
- k8s
- exercice d'atelier
- runc
- containerd
- etcd
- kubectl
---

# Atelier n°11 : Provisionnement des routes réseau des pods

!!! info

Il s'agit d'un fork de l'original ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way) écrit à l'origine par Kelsey Hightower (GitHub : kelseyhightower). Contrairement à l'original, qui se base sur des distributions de type Debian pour l'architecture ARM64, ce fork cible les distributions Enterprise Linux telles que Rocky Linux, qui fonctionne sur l'architecture x86_64.

Les pods planifiés sur un nœud reçoivent une adresse IP de la plage CIDR du pod du nœud. Actuellement, les pods ne peuvent pas communiquer avec d’autres pods exécutés sur des nœuds différents en raison de l’absence de [routes] réseau(https://cloud.google.com/compute/docs/vpc/routes).

Dans cet atelier, vous allez créer un itinéraire pour chaque nœud de travail qui mappe la plage CIDR du pod du nœud à l'adresse IP interne du nœud.

> Il existe [d'autres façons](https://kubernetes.io/docs/concepts/cluster-administration/networking/#how-to-achieve-this) d'implémenter le modèle de réseau Kubernetes.

## Table de Routage

Dans cette section, vous rassemblerez les informations nécessaires pour créer des itinéraires dans le réseau VPC `kubernetes-the-hard-way`.

Affichez l'adresse IP interne et la plage CIDR du pod pour chaque instance de travail :

```bash
{
SERVER_IP=$(grep server machines.txt | cut -d " " -f 1)
NODE_0_IP=$(grep node-0 machines.txt | cut -d " " -f 1)
NODE_0_SUBNET=$(grep node-0 machines.txt | cut -d " " -f 5)
NODE_1_IP=$(grep node-1 machines.txt | cut -d " " -f 1)
NODE_1_SUBNET=$(grep node-1 machines.txt | cut -d " " -f 5)
}
```

```bash
ssh root@server <<EOF
ip route add ${NODE_0_SUBNET} via ${NODE_0_IP}
ip route add ${NODE_1_SUBNET} via ${NODE_1_IP}
EOF
```

```bash
ssh root@node-0 <<EOF
ip route add ${NODE_1_SUBNET} via ${NODE_1_IP}
EOF
```

```bash
ssh root@node-1 <<EOF
ip route add ${NODE_0_SUBNET} via ${NODE_0_IP}
EOF
```

## Vérification

```bash
ssh root@server ip route
```

```text
default via XXX.XXX.XXX.XXX dev ens160
10.200.0.0/24 via XXX.XXX.XXX.XXX dev ens160
10.200.1.0/24 via XXX.XXX.XXX.XXX dev ens160
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX
```

```bash
ssh root@node-0 ip route
```

```text
default via XXX.XXX.XXX.XXX dev ens160
10.200.1.0/24 via XXX.XXX.XXX.XXX dev ens160
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX
```

```bash
ssh root@node-1 ip route
```

```text
default via XXX.XXX.XXX.XXX dev ens160
10.200.0.0/24 via XXX.XXX.XXX.XXX dev ens160
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX
```

Suivant : [Smoke Test](lab12-smoke-test.md)
Loading