homelab-k3s/HELP/METALLIB.md
2024-11-02 01:42:32 +03:00

72 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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