mirror of https://github.com/kubernetes/kops.git
Fixing hosted zone errors with bastion, and cleaning up dns model logic
This commit is contained in:
parent
d9339fa351
commit
09f77d6753
|
|
@ -31,7 +31,7 @@ var _ fi.ModelBuilder = &DNSModelBuilder{}
|
||||||
|
|
||||||
func (b *DNSModelBuilder) Build(c *fi.ModelBuilderContext) error {
|
func (b *DNSModelBuilder) Build(c *fi.ModelBuilderContext) error {
|
||||||
// Add a HostedZone if we are going to publish a dns record that depends on it
|
// Add a HostedZone if we are going to publish a dns record that depends on it
|
||||||
if b.UsePrivateDNS() || b.UsesBastionDns() {
|
if b.UsePrivateDNS() {
|
||||||
// UsePrivateDNS is only exposed as a feature flag currently
|
// UsePrivateDNS is only exposed as a feature flag currently
|
||||||
// TODO: We may still need a public zone to publish an ELB
|
// TODO: We may still need a public zone to publish an ELB
|
||||||
|
|
||||||
|
|
@ -54,7 +54,9 @@ func (b *DNSModelBuilder) Build(c *fi.ModelBuilderContext) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
c.AddTask(dnsZone)
|
c.AddTask(dnsZone)
|
||||||
} else if b.UseLoadBalancerForAPI() {
|
}
|
||||||
|
|
||||||
|
if b.UseLoadBalancerForAPI() {
|
||||||
// This will point our DNS to the load balancer, and put the pieces
|
// This will point our DNS to the load balancer, and put the pieces
|
||||||
// together for kubectl to be work
|
// together for kubectl to be work
|
||||||
|
|
||||||
|
|
@ -73,19 +75,34 @@ func (b *DNSModelBuilder) Build(c *fi.ModelBuilderContext) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
c.AddTask(dnsZone)
|
c.AddTask(dnsZone)
|
||||||
}
|
|
||||||
|
|
||||||
if b.UseLoadBalancerForAPI() {
|
apiDnsName := &awstasks.DNSName{
|
||||||
// This will point our DNS to the load balancer, and put the pieces
|
|
||||||
// together for kubectl to be work
|
|
||||||
|
|
||||||
dnsName := &awstasks.DNSName{
|
|
||||||
Name: s(b.Cluster.Spec.MasterPublicName),
|
Name: s(b.Cluster.Spec.MasterPublicName),
|
||||||
Zone: &awstasks.DNSZone{Name: s(b.Cluster.Spec.DNSZone)},
|
Zone: &awstasks.DNSZone{Name: s(b.Cluster.Spec.DNSZone)},
|
||||||
ResourceType: s("A"),
|
ResourceType: s("A"),
|
||||||
TargetLoadBalancer: b.LinkToELB("api"),
|
TargetLoadBalancer: b.LinkToELB("api"),
|
||||||
}
|
}
|
||||||
c.AddTask(dnsName)
|
c.AddTask(apiDnsName)
|
||||||
|
}
|
||||||
|
|
||||||
|
if b.UsesBastionDns() {
|
||||||
|
// Pulling this down into it's own if statement. The DNS configuration here
|
||||||
|
// is similar to others, but I would like to keep it on it's own in case we need
|
||||||
|
// to change anything.
|
||||||
|
dnsZone := &awstasks.DNSZone{
|
||||||
|
Name: s(b.Cluster.Spec.DNSZone),
|
||||||
|
Private: fi.Bool(false),
|
||||||
|
}
|
||||||
|
|
||||||
|
if !strings.Contains(b.Cluster.Spec.DNSZone, ".") {
|
||||||
|
// Looks like a hosted zone ID
|
||||||
|
dnsZone.ZoneID = s(b.Cluster.Spec.DNSZone)
|
||||||
|
} else {
|
||||||
|
// Looks like a normal ddns name
|
||||||
|
dnsZone.DNSName = s(b.Cluster.Spec.DNSZone)
|
||||||
|
}
|
||||||
|
|
||||||
|
c.AddTask(dnsZone)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
|
|
@ -223,14 +223,6 @@ func (c *populateClusterSpec) run() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hard coding topology here
|
|
||||||
//
|
|
||||||
// We want topology to pass through
|
|
||||||
// Otherwise we were losing the pointer
|
|
||||||
// TODO: This should not be needed...
|
|
||||||
cluster.Spec.Topology = c.InputCluster.Spec.Topology
|
|
||||||
//cluster.Spec.Topology.Bastion = c.InputCluster.Spec.Topology.Bastion
|
|
||||||
|
|
||||||
if cluster.Spec.DNSZone == "" {
|
if cluster.Spec.DNSZone == "" {
|
||||||
dns, err := cloud.DNS()
|
dns, err := cloud.DNS()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -238,7 +230,7 @@ func (c *populateClusterSpec) run() error {
|
||||||
}
|
}
|
||||||
dnsZone, err := FindDNSHostedZone(dns, cluster.ObjectMeta.Name)
|
dnsZone, err := FindDNSHostedZone(dns, cluster.ObjectMeta.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("Error determining default DNS zone; please specify --dns-zone: %v", err)
|
return fmt.Errorf("error determining default DNS zone: %v", err)
|
||||||
}
|
}
|
||||||
glog.Infof("Defaulting DNS zone to: %s", dnsZone)
|
glog.Infof("Defaulting DNS zone to: %s", dnsZone)
|
||||||
cluster.Spec.DNSZone = dnsZone
|
cluster.Spec.DNSZone = dnsZone
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue