diff --git a/runtime/kubernetes/kubernetes.go b/runtime/kubernetes/kubernetes.go index 16240189..7ff267f5 100644 --- a/runtime/kubernetes/kubernetes.go +++ b/runtime/kubernetes/kubernetes.go @@ -2,6 +2,7 @@ package kubernetes import ( + "fmt" "sync" "time" @@ -70,8 +71,7 @@ func (k *kubernetes) getService(labels map[string]string) ([]*service, error) { // version of the service version := kservice.Metadata.Labels["version"] - // save as service - svcMap[name+version] = &service{ + srv := &service{ Service: &runtime.Service{ Name: name, Version: version, @@ -80,10 +80,18 @@ func (k *kubernetes) getService(labels map[string]string) ([]*service, error) { kservice: &kservice, } + // set the address + address := kservice.Spec.ClusterIP + port := kservice.Spec.Ports[0] + srv.Service.Metadata["address"] = fmt.Sprintf("%s:%d", address, port.Port) + // copy annotations metadata into service metadata for k, v := range kservice.Metadata.Annotations { - svcMap[name+version].Service.Metadata[k] = v + srv.Service.Metadata[k] = v } + + // save as service + svcMap[name+version] = srv } // collect additional info from kubernetes deployment diff --git a/util/kubernetes/client/client.go b/util/kubernetes/client/client.go index 6786f6c7..e3cfc110 100644 --- a/util/kubernetes/client/client.go +++ b/util/kubernetes/client/client.go @@ -217,7 +217,7 @@ func NewService(name, version, typ string) *Service { Type: "ClusterIP", Selector: Labels, Ports: []ServicePort{{ - "service-port", 9090, "", + "service-port", 8080, "", }}, } diff --git a/util/kubernetes/client/types.go b/util/kubernetes/client/types.go index a747ad2a..cfbcd23c 100644 --- a/util/kubernetes/client/types.go +++ b/util/kubernetes/client/types.go @@ -132,9 +132,10 @@ type ServicePort struct { // ServiceSpec provides service configuration type ServiceSpec struct { - Type string `json:"type,omitempty"` - Selector map[string]string `json:"selector,omitempty"` - Ports []ServicePort `json:"ports,omitempty"` + ClusterIP string `json:"clusterIP"` + Type string `json:"type,omitempty"` + Selector map[string]string `json:"selector,omitempty"` + Ports []ServicePort `json:"ports,omitempty"` } // ServiceStatus