mirror of https://github.com/k3s-io/k3s
Add exception to golint check
(*) Fix cleanup of NodePort resources. (*) Fix the logic to select existing policies Fix review comment Fix Bazel Update GoDep License Fix NodePort forwarding to target port Fix Darwin Build break. +1 Implement IsCompatible to validate kernel support for kernel modepull/6/head
parent
63020d5f72
commit
a8d797afdd
|
@ -68231,7 +68231,7 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
= vendor/github.com/Microsoft/hcsshim/LICENSE d4c2cbbea5ee1e7c86dff68a7073718e -
|
||||
= vendor/github.com/Microsoft/hcsshim/LICENSE d4c2cbbea5ee1e7c86dff68a7073718e
|
||||
================================================================================
|
||||
|
||||
|
||||
|
@ -81007,35 +81007,6 @@ THE SOFTWARE.
|
|||
================================================================================
|
||||
|
||||
|
||||
================================================================================
|
||||
= vendor/github.com/sirupsen/logrus licensed under: =
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Simon Eskildsen
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
= vendor/github.com/sirupsen/logrus/LICENSE 8dadfef729c08ec4e631c4f6fc5d43a0 -
|
||||
================================================================================
|
||||
|
||||
|
||||
================================================================================
|
||||
= vendor/github.com/spf13/afero licensed under: =
|
||||
|
||||
|
|
|
@ -11,10 +11,8 @@ go_library(
|
|||
srcs = [
|
||||
"conntrack.go",
|
||||
"server.go",
|
||||
"server_others.go",
|
||||
] + select({
|
||||
"@io_bazel_rules_go//go/platform:linux_amd64": [
|
||||
"server_linux.go",
|
||||
],
|
||||
"@io_bazel_rules_go//go/platform:windows_amd64": [
|
||||
"server_windows.go",
|
||||
],
|
||||
|
@ -37,6 +35,7 @@ go_library(
|
|||
"//pkg/proxy/ipvs:go_default_library",
|
||||
"//pkg/proxy/userspace:go_default_library",
|
||||
"//pkg/util/configz:go_default_library",
|
||||
"//pkg/util/dbus:go_default_library",
|
||||
"//pkg/util/iptables:go_default_library",
|
||||
"//pkg/util/ipvs:go_default_library",
|
||||
"//pkg/util/mount:go_default_library",
|
||||
|
@ -55,6 +54,8 @@ go_library(
|
|||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer/json:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/net:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||
"//vendor/k8s.io/apiserver/pkg/server/healthz:go_default_library",
|
||||
|
@ -64,20 +65,12 @@ go_library(
|
|||
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
|
||||
"//vendor/k8s.io/client-go/tools/clientcmd/api:go_default_library",
|
||||
"//vendor/k8s.io/client-go/tools/record:go_default_library",
|
||||
"//vendor/k8s.io/utils/exec:go_default_library",
|
||||
] + select({
|
||||
"@io_bazel_rules_go//go/platform:linux_amd64": [
|
||||
"//pkg/util/dbus:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/net:go_default_library",
|
||||
"//vendor/k8s.io/utils/exec:go_default_library",
|
||||
],
|
||||
"@io_bazel_rules_go//go/platform:windows_amd64": [
|
||||
"//pkg/proxy/winkernel:go_default_library",
|
||||
"//pkg/proxy/winuserspace:go_default_library",
|
||||
"//pkg/util/netsh:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/net:go_default_library",
|
||||
"//vendor/k8s.io/utils/exec:go_default_library",
|
||||
],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
|
|
|
@ -51,6 +51,7 @@ import (
|
|||
"github.com/golang/glog"
|
||||
)
|
||||
|
||||
// NewProxyServer returns a new ProxyServer.
|
||||
func NewProxyServer(config *componentconfig.KubeProxyConfiguration, cleanupAndExit bool, scheme *runtime.Scheme, master string) (*ProxyServer, error) {
|
||||
if config == nil {
|
||||
return nil, errors.New("config is required")
|
|
@ -301,6 +301,7 @@ pkg/proxy
|
|||
pkg/proxy/iptables
|
||||
pkg/proxy/userspace
|
||||
pkg/proxy/util
|
||||
pkg/proxy/winkernel
|
||||
pkg/proxy/winuserspace
|
||||
pkg/quota/evaluator/core
|
||||
pkg/quota/generic
|
||||
|
|
|
@ -65,8 +65,12 @@ func CanUseWinKernelProxier(kcompat KernelCompatTester) (bool, error) {
|
|||
|
||||
type WindowsKernelCompatTester struct{}
|
||||
|
||||
// Todo : Fix the below API to query the OS version
|
||||
// IsCompatible returns true if winkernel can support this mode of proxy
|
||||
func (lkct WindowsKernelCompatTester) IsCompatible() error {
|
||||
_, err := hcsshim.HNSListPolicyListRequest()
|
||||
if err != nil {
|
||||
return fmt.Errorf("Windows kernel is not compatible for Kernel mode")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -531,6 +535,10 @@ func (svcInfo *serviceInfo) deleteAllHnsLoadBalancerPolicy() {
|
|||
// Remove the Hns Policy corresponding to this service
|
||||
deleteHnsLoadBalancerPolicy(svcInfo.hnsID)
|
||||
svcInfo.hnsID = ""
|
||||
|
||||
deleteHnsLoadBalancerPolicy(svcInfo.nodePorthnsID)
|
||||
svcInfo.nodePorthnsID = ""
|
||||
|
||||
for _, externalIp := range svcInfo.externalIPs {
|
||||
deleteHnsLoadBalancerPolicy(externalIp.hnsID)
|
||||
externalIp.hnsID = ""
|
||||
|
@ -576,7 +584,7 @@ func getHnsLoadBalancer(endpoints []hcsshim.HNSEndpoint, isILB bool, vip string,
|
|||
}
|
||||
if elbPolicy.Protocol == protocol && elbPolicy.InternalPort == internalPort && elbPolicy.ExternalPort == externalPort && elbPolicy.ILB == isILB {
|
||||
if len(vip) > 0 {
|
||||
if len(elbPolicy.VIPs) > 0 && elbPolicy.VIPs[0] != vip {
|
||||
if len(elbPolicy.VIPs) == 0 || elbPolicy.VIPs[0] != vip {
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
@ -1049,7 +1057,7 @@ func (proxier *Proxier) syncProxyRules() {
|
|||
false,
|
||||
"", // VIP has to be empty to automatically select the nodeIP
|
||||
Enum(svcInfo.protocol),
|
||||
uint16(svcInfo.port),
|
||||
uint16(svcInfo.targetPort),
|
||||
uint16(svcInfo.nodePort),
|
||||
)
|
||||
if err != nil {
|
||||
|
@ -1058,7 +1066,7 @@ func (proxier *Proxier) syncProxyRules() {
|
|||
}
|
||||
|
||||
svcInfo.nodePorthnsID = hnsLoadBalancer.ID
|
||||
glog.V(3).Infof("Hns LoadBalancer resource created for cluster ip resources %v, Id [%s]", svcInfo.clusterIP, hnsLoadBalancer.ID)
|
||||
glog.V(3).Infof("Hns LoadBalancer resource created for nodePort resources %v, Id [%s]", svcInfo.clusterIP, hnsLoadBalancer.ID)
|
||||
}
|
||||
|
||||
// Create a Load Balancer Policy for each external IP
|
||||
|
|
Loading…
Reference in New Issue