1
0
mirror of https://github.com/rancher/rke.git synced 2025-06-25 23:12:30 +00:00
rke/services/services.go

35 lines
734 B
Go
Raw Normal View History

2017-10-29 09:45:21 +00:00
package services
import (
"fmt"
"net"
2017-10-29 09:45:21 +00:00
)
const (
ETCDRole = "etcd"
ControlRole = "controlplane"
WorkerRole = "worker"
2017-10-29 09:45:21 +00:00
KubeAPIContainerName = "kube-api"
KubeletContainerName = "kubelet"
KubeproxyContainerName = "kube-proxy"
KubeControllerContainerName = "kube-controller"
SchedulerContainerName = "scheduler"
EtcdContainerName = "etcd"
)
func GetKubernetesServiceIp(serviceClusterRange string) (net.IP, error) {
ip, ipnet, err := net.ParseCIDR(serviceClusterRange)
2017-10-29 09:45:21 +00:00
if err != nil {
return nil, fmt.Errorf("Failed to get kubernetes service IP: %v", err)
2017-10-29 09:45:21 +00:00
}
ip = ip.Mask(ipnet.Mask)
for j := len(ip) - 1; j >= 0; j-- {
ip[j]++
if ip[j] > 0 {
break
2017-10-29 09:45:21 +00:00
}
}
return ip, nil
2017-10-29 09:45:21 +00:00
}