mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-05 15:37:24 +00:00
Add v1.NodeLegacyHostIP to be consistent with the internal API;
Mark NodeLegacyHostIP will be deprecated in 1.7; Let cloudprovider that used to only set NodeLegacyHostIP set the IP as both InternalIP and ExternalIP, to allow dprecation in 1.7
This commit is contained in:
@@ -44,6 +44,7 @@ import (
|
||||
kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
|
||||
"k8s.io/kubernetes/pkg/master/thirdparty"
|
||||
utilnet "k8s.io/kubernetes/pkg/util/net"
|
||||
nodeutil "k8s.io/kubernetes/pkg/util/node"
|
||||
|
||||
"k8s.io/kubernetes/pkg/registry/generic"
|
||||
"k8s.io/kubernetes/pkg/registry/generic/registry"
|
||||
@@ -354,6 +355,10 @@ type nodeAddressProvider struct {
|
||||
}
|
||||
|
||||
func (n nodeAddressProvider) externalAddresses() (addresses []string, err error) {
|
||||
preferredAddressTypes := []api.NodeAddressType{
|
||||
api.NodeExternalIP,
|
||||
api.NodeLegacyHostIP,
|
||||
}
|
||||
nodes, err := n.nodeClient.List(api.ListOptions{})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -361,7 +366,7 @@ func (n nodeAddressProvider) externalAddresses() (addresses []string, err error)
|
||||
addrs := []string{}
|
||||
for ix := range nodes.Items {
|
||||
node := &nodes.Items[ix]
|
||||
addr, err := findExternalAddress(node)
|
||||
addr, err := nodeutil.GetPreferredNodeAddress(node, preferredAddressTypes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -370,24 +375,6 @@ func (n nodeAddressProvider) externalAddresses() (addresses []string, err error)
|
||||
return addrs, nil
|
||||
}
|
||||
|
||||
// findExternalAddress returns ExternalIP of provided node with fallback to LegacyHostIP.
|
||||
func findExternalAddress(node *api.Node) (string, error) {
|
||||
var fallback string
|
||||
for ix := range node.Status.Addresses {
|
||||
addr := &node.Status.Addresses[ix]
|
||||
if addr.Type == api.NodeExternalIP {
|
||||
return addr.Address, nil
|
||||
}
|
||||
if fallback == "" && addr.Type == api.NodeLegacyHostIP {
|
||||
fallback = addr.Address
|
||||
}
|
||||
}
|
||||
if fallback != "" {
|
||||
return fallback, nil
|
||||
}
|
||||
return "", fmt.Errorf("Couldn't find external address: %v", node)
|
||||
}
|
||||
|
||||
func DefaultAPIResourceConfigSource() *genericapiserver.ResourceConfig {
|
||||
ret := genericapiserver.NewResourceConfig()
|
||||
ret.EnableVersions(
|
||||
|
||||
Reference in New Issue
Block a user