From 4fcef4fe94a18ad611f95ecfe02894f71078fcd3 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 31 Oct 2024 10:27:19 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?/=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- METALLIB.md | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 METALLIB.md diff --git a/METALLIB.md b/METALLIB.md new file mode 100644 index 00000000..392d312f --- /dev/null +++ b/METALLIB.md @@ -0,0 +1,71 @@ +# Настройка MetalLB для K3s с одним внешним IP-адресом + +## Шаги по настройке + +1. **Проверьте статус Traefik и MetalLB:** + ```bash + kubectl get svc -n kube-system traefik + kubectl get pods -n metallb-system + ``` + +2. **Установка MetalLB (если не установлен):** + ```bash + kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/main/config/manifests/metallb-native.yaml + ``` + +3. **Создайте файл конфигурации `metallb-config.yaml` с указанием внешнего IP-адреса:** + ```yaml + apiVersion: metallb.io/v1beta1 + kind: IPAddressPool + metadata: + name: my-single-ip-pool + namespace: metallb-system + spec: + addresses: + - <ваш-внешний-IP-адрес> # Укажите здесь ваш внешний IP-адрес + --- + apiVersion: metallb.io/v1beta1 + kind: L2Advertisement + metadata: + name: my-l2-advertisement + namespace: metallb-system + spec: {} + ``` + + Примените конфигурацию: + ```bash + kubectl apply -f metallb-config.yaml + ``` + +4. **Создайте сервис типа LoadBalancer:** + Создайте файл `service.yaml` со следующим содержимым: + ```yaml + apiVersion: v1 + kind: Service + metadata: + name: external-service + spec: + selector: + app: my-app + ports: + - protocol: TCP + port: 80 + targetPort: 80 + type: LoadBalancer + ``` + + Примените манифест: + ```bash + kubectl apply -f service.yaml + ``` + +5. **Проверьте, что сервис получил внешний IP:** + ```bash + kubectl get svc external-service + ``` + +## Заметки +- Убедитесь, что ваш сервер позволяет доступ к указанному IP-адресу на соответствующих портах. +- IP-адрес должен быть статическим и доступным для использования. + +Следуя этим шагам, вы настроите MetalLB для работы с указанным внешним IP-адресом в кластере K3s.