# Настройка 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.