Skip to content

Commit

Permalink
Use fixed service via yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
mattmoor committed Jan 7, 2020
1 parent 9287bcc commit 9175488
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 27 deletions.
32 changes: 5 additions & 27 deletions cmd/default-domain/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,32 +86,10 @@ func findGatewayAddress(kubeclient *kubernetes.Clientset, client *versioned.Clie
return nil, err
}

// Create a Kubernetes Service that points at this Pod.
svc, err := kubeclient.CoreV1().Services(system.Namespace()).Create(&corev1.Service{
ObjectMeta: metav1.ObjectMeta{
GenerateName: "default-domain-",
Namespace: system.Namespace(),
},
Spec: corev1.ServiceSpec{
Selector: map[string]string{
"app": "default-domain",
},
Ports: []corev1.ServicePort{{
Name: "http",
Port: 80,
TargetPort: intstr.FromInt(8080),
}},
},
})
if err != nil {
return nil, err
}
defer kubeclient.CoreV1().Services(system.Namespace()).Delete(svc.Name, &metav1.DeleteOptions{})

// Create a KIngress that points at that Service
ing, err := client.NetworkingV1alpha1().Ingresses(system.Namespace()).Create(&v1alpha1.Ingress{
ObjectMeta: metav1.ObjectMeta{
Name: svc.Name,
Name: "default-domain",
Namespace: system.Namespace(),
Annotations: map[string]string{
networking.IngressClassAnnotationKey: netCfg.DefaultIngressClass,
Expand All @@ -125,7 +103,7 @@ func findGatewayAddress(kubeclient *kubernetes.Clientset, client *versioned.Clie
Paths: []v1alpha1.HTTPIngressPath{{
Splits: []v1alpha1.IngressBackendSplit{{
IngressBackend: v1alpha1.IngressBackend{
ServiceName: svc.Name,
ServiceName: "default-domain-service",
ServiceNamespace: system.Namespace(),
ServicePort: intstr.FromInt(80),
},
Expand Down Expand Up @@ -164,14 +142,14 @@ func findGatewayAddress(kubeclient *kubernetes.Clientset, client *versioned.Clie
}
name, namespace := parts[0], parts[1]

lbSvc, err := kubeclient.CoreV1().Services(namespace).Get(name, metav1.GetOptions{})
svc, err := kubeclient.CoreV1().Services(namespace).Get(name, metav1.GetOptions{})
if err != nil {
return nil, err
}
if len(lbSvc.Status.LoadBalancer.Ingress) == 0 {
if len(svc.Status.LoadBalancer.Ingress) == 0 {
return nil, errors.New("Public load balancer does not have an ingress IP.")
}
return &lbSvc.Status.LoadBalancer.Ingress[0], nil
return &svc.Status.LoadBalancer.Ingress[0], nil
}

func main() {
Expand Down
18 changes: 18 additions & 0 deletions config/core/post-install/default-domain.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,21 @@ spec:
fieldPath: metadata.namespace
restartPolicy: Never
backoffLimit: 10

---
apiVersion: v1
kind: Service
metadata:
name: default-domain-service
namespace: knative-serving
labels:
app: default-domain
serving.knative.dev/release: devel
spec:
selector:
app: default-domain
ports:
- name: http
port: 80
targetPort: 8080
type: ClusterIP

0 comments on commit 9175488

Please sign in to comment.