Ошибка при использовании командной строки Google Cloud DNS при попытке обновить внешний IP-адрес ресурса записи ресурса Hosted Zone Тип A для моего домена ... this works fine using the browser based gce console ... на английском языке когда я развертываю свое приложение с помощью Kubernetes, он дает мне свежий IP-адрес, который мне нужно связать с существующей DNS-доменом, чтобы люди могли добраться до моего приложения, указывая на свой браузер в моем домене (example.com) ... rub это действие должно произойти каждый раз, когда я повторно развертываю свое приложение, следовательно, необходимо автоматизироватьgcloud dns record-sets transaction Не удается обновить IP-адрес
Примечание. Облачная зона DNS уже существует и работает. Я пытаюсь обновить внешний IP-адрес, чтобы соответствовать свежему РазВЕРТЫВаНИя Kubernetes в LoadBalancer Ingress согласно
kubectl describe svc --namespace=ruptureofthemundaneplane | grep Ingress
LoadBalancer Ingress: 104.196.108.178
здесь текущему состоянию
gcloud dns record-sets list --zone zone-cubalibre --project ruptureofthemundaneplane
NAME TYPE TTL DATA
example.com. A 60 104.196.108.147
example.com. NS 60 ns-cloud-a1.googledomains.com.,ns-cloud-a2.googledomains.com.,ns-cloud-a3.googledomains.com.,ns-cloud-a4.googledomains.com.
example.com. SOA 60 ns-cloud-a1.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 1209600 300
admin.example.com. CNAME 60 example.com.
www.admin.example.com. CNAME 60 example.com.
www.example.com. CNAME 60 example.com.
здесь просто введите Рекордный
gcloud dns record-sets list --project ruptureofthemundaneplane --zone zone-cubalibre --name "example.com." --type "A"
NAME TYPE TTL DATA
example.com. A 60 104.196.108.147
Мне нужно заменить IP 104.196.108.147 новым значением 104.196.108.178 ... поэтому я выпускаю
gcloud dns record-sets transaction start --zone zone-cubalibre --project ruptureofthemundaneplane
здесь я добавляю сделку с моим новым IP адресом
gcloud dns record-sets transaction add "104.196.108.178" --name "example.com." --ttl 60 --type "A" --project ruptureofthemundaneplane --zone zone-cubalibre
здесь является система генерировала YAML файл
cat transaction.yaml
---
additions:
- kind: dns#resourceRecordSet
name: example.com.
rrdatas:
- ns-cloud-a1.googledomains.com. cloud-dns-hostmaster.google.com. 2 21600 3600 1209600
300
ttl: 60
type: SOA
- kind: dns#resourceRecordSet
name: example.com.
rrdatas:
- 104.196.108.178
ttl: 60
type: A
deletions:
- kind: dns#resourceRecordSet
name: example.com.
rrdatas:
- ns-cloud-a1.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 1209600
300
ttl: 60
type: SOA
для полноты здесь я прошу систему, чтобы показать кэшированные транзакцию
gcloud dns record-sets transaction describe --project ruptureofthemundaneplane --zone zone-cubalibre
... вывод
additions:
- kind: dns#resourceRecordSet
name: example.com.
rrdatas:
- ns-cloud-a1.googledomains.com. cloud-dns-hostmaster.google.com. 2 21600 3600 1209600
300
ttl: 60
type: SOA
- kind: dns#resourceRecordSet
name: example.com.
rrdatas:
- 104.196.108.178
ttl: 60
type: A
deletions:
- kind: dns#resourceRecordSet
name: example.com.
rrdatas:
- ns-cloud-a1.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 1209600
300
ttl: 60
type: SOA
я, наконец, совершить сделку с этим
gcloud dns record-sets transaction execute --project ruptureofthemundaneplane --zone zone-cubalibre
ERROR: (gcloud.dns.record-sets.transaction.execute)
The resource 'entity.change.additions[1]' named 'example.com. (A)' already exists (code: 409)
какие-либо предложения? Я хочу избежать предопределения статического IP-адреса, поскольку он не масштабируется ... the equivalent Amazon aws commands work when I deploy using kube-up.sh over aws ... было бы приятным прикосновением, если бы кубернеты достигли общего решения для всех своих поставщиков облачных хостов ... Люди используют некоторые другие автоматизированные средства для достижения этого? некоторая библиотека SDK в lang x?