mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 05:27:21 +00:00
Add support for host ip binding to the API (and kubelet)
This commit is contained in:
parent
9408bd77ec
commit
4b22f7a462
@ -74,6 +74,8 @@ type Port struct {
|
|||||||
ContainerPort int `yaml:"containerPort" json:"containerPort"`
|
ContainerPort int `yaml:"containerPort" json:"containerPort"`
|
||||||
// Optional: Defaults to "TCP".
|
// Optional: Defaults to "TCP".
|
||||||
Protocol string `yaml:"protocol,omitempty" json:"protocol,omitempty"`
|
Protocol string `yaml:"protocol,omitempty" json:"protocol,omitempty"`
|
||||||
|
// Optional: What host IP to bind the external port to.
|
||||||
|
HostIP string `yaml:"hostIP,omitempty" json:"hostIP,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// VolumeMount describes a mounting of a Volume within a container
|
// VolumeMount describes a mounting of a Volume within a container
|
||||||
@ -86,7 +88,7 @@ type VolumeMount struct {
|
|||||||
// Exactly one of the following must be set. If both are set, prefer MountPath.
|
// Exactly one of the following must be set. If both are set, prefer MountPath.
|
||||||
// DEPRECATED: Path will be removed in a future version of the API.
|
// DEPRECATED: Path will be removed in a future version of the API.
|
||||||
MountPath string `yaml:"mountPath,omitempty" json:"mountPath,omitempty"`
|
MountPath string `yaml:"mountPath,omitempty" json:"mountPath,omitempty"`
|
||||||
Path string `yaml:"path,omitempty" json:"path,omitempty"`
|
Path string `yaml:"path,omitempty" json:"path,omitempty"`
|
||||||
// One of: "LOCAL" (local volume) or "HOST" (external mount from the host). Default: LOCAL.
|
// One of: "LOCAL" (local volume) or "HOST" (external mount from the host). Default: LOCAL.
|
||||||
MountType string `yaml:"mountType,omitempty" json:"mountType,omitempty"`
|
MountType string `yaml:"mountType,omitempty" json:"mountType,omitempty"`
|
||||||
}
|
}
|
||||||
|
@ -332,6 +332,7 @@ func makePortsAndBindings(container *api.Container) (map[docker.Port]struct{}, m
|
|||||||
portBindings[dockerPort] = []docker.PortBinding{
|
portBindings[dockerPort] = []docker.PortBinding{
|
||||||
{
|
{
|
||||||
HostPort: strconv.Itoa(exteriorPort),
|
HostPort: strconv.Itoa(exteriorPort),
|
||||||
|
HostIp: port.HostIP,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -529,6 +529,7 @@ func TestMakePortsAndBindings(t *testing.T) {
|
|||||||
{
|
{
|
||||||
ContainerPort: 80,
|
ContainerPort: 80,
|
||||||
HostPort: 8080,
|
HostPort: 8080,
|
||||||
|
HostIP: "127.0.0.1",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ContainerPort: 443,
|
ContainerPort: 443,
|
||||||
@ -558,18 +559,30 @@ func TestMakePortsAndBindings(t *testing.T) {
|
|||||||
if !reflect.DeepEqual(docker.Port("80/tcp"), key) {
|
if !reflect.DeepEqual(docker.Port("80/tcp"), key) {
|
||||||
t.Errorf("Unexpected docker port: %#v", key)
|
t.Errorf("Unexpected docker port: %#v", key)
|
||||||
}
|
}
|
||||||
|
if value[0].HostIp != "127.0.0.1" {
|
||||||
|
t.Errorf("Unexpected host IP: %s", value[0].HostIp)
|
||||||
|
}
|
||||||
case "443":
|
case "443":
|
||||||
if !reflect.DeepEqual(docker.Port("443/tcp"), key) {
|
if !reflect.DeepEqual(docker.Port("443/tcp"), key) {
|
||||||
t.Errorf("Unexpected docker port: %#v", key)
|
t.Errorf("Unexpected docker port: %#v", key)
|
||||||
}
|
}
|
||||||
|
if value[0].HostIp != "" {
|
||||||
|
t.Errorf("Unexpected host IP: %s", value[0].HostIp)
|
||||||
|
}
|
||||||
case "444":
|
case "444":
|
||||||
if !reflect.DeepEqual(docker.Port("444/udp"), key) {
|
if !reflect.DeepEqual(docker.Port("444/udp"), key) {
|
||||||
t.Errorf("Unexpected docker port: %#v", key)
|
t.Errorf("Unexpected docker port: %#v", key)
|
||||||
}
|
}
|
||||||
|
if value[0].HostIp != "" {
|
||||||
|
t.Errorf("Unexpected host IP: %s", value[0].HostIp)
|
||||||
|
}
|
||||||
case "445":
|
case "445":
|
||||||
if !reflect.DeepEqual(docker.Port("445/tcp"), key) {
|
if !reflect.DeepEqual(docker.Port("445/tcp"), key) {
|
||||||
t.Errorf("Unexpected docker port: %#v", key)
|
t.Errorf("Unexpected docker port: %#v", key)
|
||||||
}
|
}
|
||||||
|
if value[0].HostIp != "" {
|
||||||
|
t.Errorf("Unexpected host IP: %s", value[0].HostIp)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user