2.2 KiB
2.2 KiB
Настройка MetalLB для K3s с одним внешним IP-адресом
Шаги по настройке
-
Проверьте статус Traefik и MetalLB:
kubectl get svc -n kube-system traefik kubectl get pods -n metallb-system -
Установка MetalLB (если не установлен):
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/main/config/manifests/metallb-native.yaml -
Создайте файл конфигурации
metallb-config.yamlс указанием внешнего IP-адреса: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: {}Примените конфигурацию:
kubectl apply -f metallb-config.yaml -
Создайте сервис типа LoadBalancer: Создайте файл
service.yamlсо следующим содержимым:apiVersion: v1 kind: Service metadata: name: external-service spec: selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 80 type: LoadBalancerПримените манифест:
kubectl apply -f service.yaml -
Проверьте, что сервис получил внешний IP:
kubectl get svc external-service
Заметки
- Убедитесь, что ваш сервер позволяет доступ к указанному IP-адресу на соответствующих портах.
- IP-адрес должен быть статическим и доступным для использования.
Следуя этим шагам, вы настроите MetalLB для работы с указанным внешним IP-адресом в кластере K3s.