내 도메인의 호스트 된 영역 리소스 레코드 유형 A의 외부 IP를 업데이트하려고 할 때 명령 줄 Google 클라우드 DNS를 사용할 때 오류 발생 ... this works fine using the browser based gce console ... 한국어 Kubernetes를 사용하여 응용 프로그램을 배포하면 내 기존 도메인 DNS에 연결해야하는 새로운 IP를 제공하므로 사람들이 내 도메인 (example.com)에서 브라우저를 가리키는 응용 프로그램에 도달 할 수 있습니다 ...이 작업이 필요합니다 매번 다시 내 애플 리케이션을 배포 따라서 자동화해야합니다gcloud dns 레코드 세트 트랜잭션 IP 주소를 업데이트 할 수 없음
참고 - 클라우드 DNS 영역이 이미 존재하고 작동합니다. 나는
여기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.
에게 있습니다에 따라 신선한는 Kubernetes 배포의로드 밸런서 침투에 맞게 외부 IP 주소를 업데이트하려고
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로 바꿔야합니다. 그래서 발행합니다.
여기내 새로운 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 kubernetes가 모든 클라우드 호스트 공급 업체에서 공통적 인 솔루션을 얻은 경우 좋은 방법이 될 것입니다 ...이를 달성하기 위해 다른 자동화 된 수단을 사용하고 있습니까? lang x에있는 일부 SDK 라이브러리?