ISTIO CON SDS, CERT-MANAGER Y Внешний DNS (2 Часть серии)
EN EL Anterhory Artículo Dejaste Configurado ISTIO Y CERT-MANAGER PARA QUE TRABAJARAN JUNTOS SIRVIENDO PODS DEL SERVICE MESH SOBRE HTTPS. Menuda Gozada, ¿Verdad? Перо hasta que no configurasteis el registro dns en vuestro ravedor, доказательств, нет acceder. Hacer Cosas Mano, ¿Qué año es este? ¿2017?
En este artículo vamos a dejar instalado y configurado en el clúster la inilidad Externaldns Que Se Encargará de Actionizar Automáticamente Nuestro Roveedor de DNS Basándose en los hosts configurados en los Gateways de Istio.
EXTREDNS ES Совместимые Con Más de 15 Roveedores de dns, Aunque Solo Dos de Manera Angable (GCloud Y AWS Trans 53), Y ES Relativamente Fácil de Instalar Y Configurar en Nuestro Clúster. EN ESTA Parte, Seguiremos Con El Ejemplo del Artículo Ansiory, Y Vamos Integrallo Con AWS Transe 53, Para Que Cree Automáticamente Ru Trans Trans 53 Los Hosts Que ActiveMos en los Gateways de Istio.
Configuración Previa.
Al Igual Que Cont-Manager, Y Con ToDo EN AWS, Necesitamos Crag Una политика de iam que otorgue al clúster o los pods que ejecuten externaldns los permisos necesarios para trabajar con путь 53. En la propia documentación de externaldns podemos encontrar el JSON que la define, pero báicamente es esta:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["route53:ChangeResourceRecordSets"], "Resource": ["arn:aws:route53:::hostedzone/*"] }, { "Effect": "Allow", "Action": [ "route53:ListHostedZones", "route53:ListResourceRecordSets" ], "Resource": ["*"] } ] }
Creo Que Es Gathede Señalar Que la línea «Ресурс»: ["ARN: AWS: Market53::: HostedZone/*"]
OTORGA PERMISOS DEMASIADO ABIERTOS, Y Deberíamos Modififarla Indind nica y Exclusivamente EL ZONE_ID
de las zonas que queremos que externaldns gestione por nosotros.
Двиденда, Ya deberemos Tener Creada Una Zona DNS EN AWS PARA Que Sea Gestionada POR Externaldns, Porque Esta Utilidad No Las Crea.
Instalando y configurando externaldns
Para Instalar Externaldns TeneMos Depositible Un Диаграмма Де Хелм , Перо Су Фичеро YAML de despliege es tan sencillo, que nos vamos a Limitar a copiarlo, y modififar los parámetros que Integranán Externaldns contress 53. Si lo instaláis con el Диаграмма Podéis Compartir La Configuración Seguir En Los Comentarios.
Groupamos en un Fichero Local El Yaml Anderiory, y Pasamos a Редактирование La Parte del Развертывание. EN BECETO, LOS Valores Para args
:
[...] args: - --source=service - --source=ingress - --source=istio-gateway - --istio-ingress-gateway=custom-istio-namespace/custom-istio-ingressgateway # load balancer service to be used; can be specified multiple times. Omit to use the default (istio-system/istio-ingressgateway) - --domain-filter=external-dns-test.my-org.com # will make ExternalDNS see only the hosted zones matching provided domain, omit to process all available hosted zones - --provider=aws - --policy=upsert-only # would prevent ExternalDNS from deleting any records, omit to enable full synchronization - --aws-zone-type=public # only look at public hosted zones (valid values are public, private or no value for both) - --registry=txt - --txt-owner-id=my-identifier
- Люди
: Indindimos a the externaldns qué tipo de recursos debro del clúster debe Analizar Para Actualizar El DNS. Si Solo Vamos UsarISTIO-Gateway
Подемос деджар ú гиниаменте эсте.- ИСТИО-ИНГРЕСС-Шлюз
: Эсте Флаг Solo ES Obderatorio Si Hemos Creado o Usamos un Ingressgateway Distintio AL QUE ISTIO CREA POR DEFECTO ( ISTIO-Ingressgateway ). De ser así, Eliminamos o Comentamos Esta Línea.- Тодомен-фильтр
: RESTRINGIMOS La Actualización de dns de externaldns uno uno varios. Si Eliminamos Este Флаг Actualizará Custquier Dominio Que Encuentre. ESTO VA MUY REALACINADO CON CREAR POLíTICA DE IAM CON LOS PERMISOS NECESARIOS.--Провидер
: En Este Caso,AWS
, Ya Que lo queremos Integrar Con Managed 53.--policy
: POR DEFECTO США EL VALORсинхронизировать
Que Elimina Registros DNS Cuando No Los Cuentra En Ninguno de losИсточник
Конфигуратос. Эль ВальорТолько для упсерта
Simplemente Añade Nuevos Registros Al DNS.- aws-Zone-type
: Indindimos que la (s) zona (ы) Que Ha de Gestionar Tienen Carácter Privado o Público Ru Transe 53.
Una Vez Que Hayáis Modififado Estas Opciones Vuestras Necesidades, Alplaiss Al Clúster. Podéis Instalarlo EN SU Propio пространство имен:
kubectl apply -n externaldns -f externaldns.yaml
Cuando El Pod Esté en Estado Бег
, Si TeneMos Algún Gateway de Istio Configurado, Externaldns Empezará a Registros DNS-DNS RU по маршруту 53. EN Caso de No No Tener Aún Nada, Appleamos Nuestro Шлюз
y Virtualservice
, y en unos pocos minutos veremos en los logs del Pod Cómo Empieza A Anadir Los Registros:
time="2019-06-10T15:51:33Z" level=info msg="Desired change: CREATE nginx.example.com A" time="2019-06-10T15:51:33Z" level=info msg="Desired change: CREATE nginx.example.com TXT" time="2019-06-10T15:51:36Z" level=info msg="2 record(s) in zone example.com. were successfully updated"
Con Estas Opciones conseguiremos desprecuparnos de la Configuración dns, que externaldns se encargará de gestionar por nosotros. ESTA Configuración Puede Sernos Tremendamente útil Para DrestaR EN Endpoints Workales, Mediante Integración Continua, Una Nueva Особенности DE Nuestra Web Y, Combinándolo Cont-Manager, EN UC Perfecto HTTPS.
ISTIO CON SDS, CERT-MANAGER Y Внешний DNS (2 Часть серии)
Оригинал: «https://dev.to/samcre/externaldns-istio-y-aws-route-53-3ah3»