add: модули и параметры ядра
This commit is contained in:
parent
54cf07242b
commit
488b47eb17
@ -305,8 +305,9 @@ server ntp.msk-ix.ru minpoll 8 maxpoll 12 prefer
|
|||||||
времени для синхронизации. Если сервер недоступен, NTP-клиент будет пытаться подключиться к нему снова
|
времени для синхронизации. Если сервер недоступен, NTP-клиент будет пытаться подключиться к нему снова
|
||||||
через некоторое время.
|
через некоторое время.
|
||||||
* `minpoll` и `maxpoll` -- это минимальный и максимальный интервалы обращения к серверу. Значения -- это степени
|
* `minpoll` и `maxpoll` -- это минимальный и максимальный интервалы обращения к серверу. Значения -- это степени
|
||||||
двойки, которые определяются как 2 в степени N, где N -- это число. По умолчанию значения равны 6 (64 секунды) и 10
|
двойки. По умолчанию значения равны 6 (64 секунды) и 10 (~17 минут). Но для микрокомпьютеров можно установить
|
||||||
(~17 минут). Но для микрокомпьютеров можно установить значения побольше. У нас 9 (~8.5 минут и 14 (~4.5 часа).
|
побольше. У нас 9 (~8.5 минуты) и 14 (~4.5 часа). На самом деле обращения к серверам времени будут происходить
|
||||||
|
в случайные интервалы времени (jitter), но в пределах указанных значений.
|
||||||
* `prefer`-- это приоритетный сервер. Если у нас несколько серверов, то NTP-клиент будет обращаться к приоритетному.
|
* `prefer`-- это приоритетный сервер. Если у нас несколько серверов, то NTP-клиент будет обращаться к приоритетному.
|
||||||
|
|
||||||
Это позволит уменьшить нагрузку от NTP-клиента и снизить трафик.
|
Это позволит уменьшить нагрузку от NTP-клиента и снизить трафик.
|
||||||
@ -334,9 +335,11 @@ sudo apt install keepalived haproxy
|
|||||||
|
|
||||||
## Установим Docker и Kubernetes
|
## Установим Docker и Kubernetes
|
||||||
|
|
||||||
Для начала надо установить GPG-ключи репозитория Docker и Kubernetes. Установка GPG-ключей для Docker подробна
|
#### Ключи и репозитории
|
||||||
описана в [отдельной инструкции](../docker/docker-trusted-gpg.md). Для GPG-Kubernetes ключи устанавливаются похожим
|
|
||||||
образом. Скачиваем GPG-ключ в папку `/etc/apt/trusted.gpg.d/`:
|
Для начала на каждом узле нашего будущего кластера надо установить GPG-ключи репозитория Docker и Kubernetes.
|
||||||
|
Установка GPG-ключей для Docker подробна описана в [отдельной инструкции](../docker/docker-trusted-gpg.md). Для
|
||||||
|
Kubernetes ключи устанавливаются похожим образом. Скачиваем GPG-ключ в папку `/etc/apt/trusted.gpg.d/`:
|
||||||
```shell
|
```shell
|
||||||
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes-apt-keyring.gpg
|
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes-apt-keyring.gpg
|
||||||
```
|
```
|
||||||
@ -351,4 +354,59 @@ echo 'deb [arch=arm64 signed-by=/etc/apt/trusted.gpg.d/kubernetes-apt-keyring.gp
|
|||||||
sudo apt update
|
sudo apt update
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Модули и параметры ядра
|
||||||
|
|
||||||
|
В каждом узле, создадим конфигурационный файл для загрузки необходимых Kubernetes модулей ядра (`overlay` и
|
||||||
|
`br_netfilter`). Для этого создадим конфиг в папке `/etc/modules-load.d/`. Файл может иметь любое имя с расширением
|
||||||
|
`.conf`, для удобства назовем его `k8s.conf`:
|
||||||
|
```shell
|
||||||
|
sudo nano /etc/modules-load.d/k8s.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
В файле пропишем модули:
|
||||||
|
```yaml
|
||||||
|
# Load overlay module (драйвер для работы с файловой системой overlayfs, для объединения
|
||||||
|
# нескольких файловых систем в одну)
|
||||||
|
overlay
|
||||||
|
|
||||||
|
# Load br_netfilter module (Драйвер для работы с сетевыми мостами и фильтрацией пакетов)
|
||||||
|
br_netfilter
|
||||||
|
```
|
||||||
|
|
||||||
|
Сохраняем и закрываем файл и теперь, благодаря конфигу, эти модули ядра будут автоматически загружаться при каждой
|
||||||
|
перезагрузке узла. Но чтобы загрузить сразу и сейчас выполним команды:
|
||||||
|
```shell
|
||||||
|
sudo modprobe overlay
|
||||||
|
sudo modprobe br_netfilter
|
||||||
|
```
|
||||||
|
|
||||||
|
Затем создадим конфигурационный файл для ядра Linux в папке `/etc/sysctl.d/`. В эту папку помещаются файлы с
|
||||||
|
для настройки параметров ядра Linux. Создадим файл `k8s.conf`:
|
||||||
|
```shell
|
||||||
|
sudo nano /etc/sysctl.d/k8s.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
В файле пропишем параметры:
|
||||||
|
```toml
|
||||||
|
# Enable IPv6 traffic through iptables on bridges (Разрешаем обработку IPv6-трафика через iptables на сетевых мостах)
|
||||||
|
net.bridge.bridge-nf-call-ip6tables = 1
|
||||||
|
|
||||||
|
# Enable IPv4 traffic through iptables on bridges (Разрешаем обработку IPv4-трафика через iptables на сетевых мостах)
|
||||||
|
net.bridge.bridge-nf-call-iptables = 1
|
||||||
|
|
||||||
|
# Enable IP forwarding (Разрешаем пересылку IP-пакетов для маршрутизации трафика между контейнерами)
|
||||||
|
net.ipv4.ip_forward = 1
|
||||||
|
```
|
||||||
|
|
||||||
|
В принципе, первые два параметра уже установлены по умолчанию (посмотреть текущие параметры ядра можно командой
|
||||||
|
`sysctl -a`), но на всякий случай все равно укажем их в файле. Сохраняем и закрываем файл. Теперь при перезагрузке
|
||||||
|
узла эти параметры будут загружаться автоматически. Но чтобы загрузить их сразу исопльзуем команду:
|
||||||
|
```shell
|
||||||
|
sudo sysctl -f /etc/sysctl.d/k8s.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user