Настройте Kubernetes/Traefik с пользовательским доменом без использования внешнего балансировщика нагрузки
Я хотел бы иметь свою собственную площадку Kubernetes в AWS, которая в настоящее время включает 2 экземпляра EC2 и Elastic Load Balancer.
Я использую Traefik в качестве моего входного контроллера, который легко позволил мне настроить автоматические субдомены и TLS для некоторых развертываний (deploy.k8s.mydomain.com).
Я люблю это, но как студент, балансировщик нагрузки слишком велик. Мне приходится убивать кластер, когда я им не пользуюсь, но в идеале я хочу, чтобы это работало все время.
Есть ли способ сохранить мои настройки (классный домен /tls), но отказаться от необходимости ELB?
2 ответа
Если вы хотите отказаться от использования LoadBalancer, у вас есть еще один вариант, это выставить Ingress Controller через службу типа externalIPs или NodePort.
kind: Service
apiVersion: v1
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app: ingress-nginx
spec:
selector:
app: ingress-nginx
ports:
- name: http
port: 80
targetPort: http
- name: https
port: 443
targetPort: http
externalIPs:
- 80.11.12.10
Затем вы можете создать CNAME (deploy.k8s.mydomain.com), чтобы указать внешний IP-адрес вашего кластерного узла. Кроме того, вы должны убедиться, что локальные правила брандмауэра на вашем узле разрешают доступ к открытому порту.
route53 днс балансировка нагрузки? Я уверен, что должен быть способ. https://www.virtualtothecore.com/load-balancing-services-with-aws-route53-dns-health-checks/