Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
8b33f7f5
Unverified
Commit
8b33f7f5
authored
Jul 15, 2020
by
Brad Davidson
Committed by
GitHub
Jul 15, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2030 from brandond/v1.16.13-rc1+k3s1
Update to v1.16.13-k3s1
parents
81f49ac3
d833224d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
277 additions
and
127 deletions
+277
-127
go.mod
go.mod
+25
-25
go.sum
go.sum
+0
-0
http.go
vendor/k8s.io/apimachinery/pkg/util/net/http.go
+1
-1
upgradeaware.go
vendor/k8s.io/apimachinery/pkg/util/proxy/upgradeaware.go
+10
-0
config.go
vendor/k8s.io/apiserver/pkg/server/config.go
+14
-7
BUILD
vendor/k8s.io/apiserver/pkg/server/healthz/BUILD
+1
-0
healthz.go
vendor/k8s.io/apiserver/pkg/server/healthz/healthz.go
+34
-0
base.go
vendor/k8s.io/client-go/pkg/version/base.go
+3
-3
base.go
vendor/k8s.io/component-base/version/base.go
+3
-3
base.go
vendor/k8s.io/kubectl/pkg/version/base.go
+3
-3
types.go
vendor/k8s.io/kubernetes/pkg/apis/core/types.go
+1
-1
docker_stats.go
.../k8s.io/kubernetes/pkg/kubelet/dockershim/docker_stats.go
+3
-2
docker_stats_windows.go
...kubernetes/pkg/kubelet/dockershim/docker_stats_windows.go
+7
-1
BUILD
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/BUILD
+1
-0
eviction_manager.go
...8s.io/kubernetes/pkg/kubelet/eviction/eviction_manager.go
+6
-1
helpers.go
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/helpers.go
+8
-1
kubelet.go
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go
+2
-1
kubelet_network_linux.go
...or/k8s.io/kubernetes/pkg/kubelet/kubelet_network_linux.go
+20
-6
kubelet_pods.go
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_pods.go
+6
-1
BUILD
vendor/k8s.io/kubernetes/pkg/kubelet/kuberuntime/logs/BUILD
+1
-0
logs.go
...or/k8s.io/kubernetes/pkg/kubelet/kuberuntime/logs/logs.go
+8
-5
constants.go
vendor/k8s.io/kubernetes/pkg/kubelet/types/constants.go
+5
-0
types.go
vendor/k8s.io/kubernetes/pkg/kubelet/types/types.go
+4
-4
printers.go
...8s.io/kubernetes/pkg/printers/internalversion/printers.go
+16
-0
proxier.go
vendor/k8s.io/kubernetes/pkg/proxy/iptables/proxier.go
+14
-4
proxier.go
vendor/k8s.io/kubernetes/pkg/proxy/ipvs/proxier.go
+35
-27
base.go
vendor/k8s.io/kubernetes/pkg/version/base.go
+3
-3
azure_controller_standard.go
...legacy-cloud-providers/azure/azure_controller_standard.go
+2
-1
azure_controller_vmss.go
....io/legacy-cloud-providers/azure/azure_controller_vmss.go
+2
-1
azure_loadbalancer.go
...k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go
+9
-0
azure_managedDiskController.go
...gacy-cloud-providers/azure/azure_managedDiskController.go
+9
-5
modules.txt
vendor/modules.txt
+21
-21
No files found.
go.mod
View file @
8b33f7f5
...
...
@@ -34,31 +34,31 @@ replace (
github.com/prometheus/client_model => github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910
github.com/prometheus/common => github.com/prometheus/common v0.0.0-20181126121408-4724e9255275
github.com/prometheus/procfs => github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a
k8s.io/api => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.16.1
1
-k3s1
k8s.io/apiextensions-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.16.1
1
-k3s1
k8s.io/apimachinery => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.16.1
1
-k3s1
k8s.io/apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.16.1
1
-k3s1
k8s.io/cli-runtime => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.16.1
1
-k3s1
k8s.io/client-go => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.16.1
1
-k3s1
k8s.io/cloud-provider => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.16.1
1
-k3s1
k8s.io/cluster-bootstrap => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.16.1
1
-k3s1
k8s.io/code-generator => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.16.1
1
-k3s1
k8s.io/component-base => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.16.1
1
-k3s1
k8s.io/cri-api => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.16.1
1
-k3s1
k8s.io/csi-translation-lib => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.16.1
1
-k3s1
k8s.io/kube-aggregator => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.16.1
1
-k3s1
k8s.io/kube-controller-manager => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.16.1
1
-k3s1
k8s.io/kube-proxy => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.16.1
1
-k3s1
k8s.io/kube-scheduler => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.16.1
1
-k3s1
k8s.io/kubectl => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.16.1
1
-k3s1
k8s.io/kubelet => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.16.1
1
-k3s1
k8s.io/kubernetes => github.com/rancher/kubernetes v1.16.1
1
-k3s1
k8s.io/legacy-cloud-providers => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.16.1
1
-k3s1
k8s.io/metrics => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.16.1
1
-k3s1
k8s.io/node-api => github.com/rancher/kubernetes/staging/src/k8s.io/node-api v1.16.1
1
-k3s1
k8s.io/sample-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/sample-apiserver v1.16.1
1
-k3s1
k8s.io/sample-cli-plugin => github.com/rancher/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.16.1
1
-k3s1
k8s.io/sample-controller => github.com/rancher/kubernetes/staging/src/k8s.io/sample-controller v1.16.1
1
-k3s1
k8s.io/api => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.16.1
3
-k3s1
k8s.io/apiextensions-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.16.1
3
-k3s1
k8s.io/apimachinery => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.16.1
3
-k3s1
k8s.io/apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.16.1
3
-k3s1
k8s.io/cli-runtime => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.16.1
3
-k3s1
k8s.io/client-go => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.16.1
3
-k3s1
k8s.io/cloud-provider => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.16.1
3
-k3s1
k8s.io/cluster-bootstrap => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.16.1
3
-k3s1
k8s.io/code-generator => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.16.1
3
-k3s1
k8s.io/component-base => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.16.1
3
-k3s1
k8s.io/cri-api => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.16.1
3
-k3s1
k8s.io/csi-translation-lib => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.16.1
3
-k3s1
k8s.io/kube-aggregator => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.16.1
3
-k3s1
k8s.io/kube-controller-manager => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.16.1
3
-k3s1
k8s.io/kube-proxy => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.16.1
3
-k3s1
k8s.io/kube-scheduler => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.16.1
3
-k3s1
k8s.io/kubectl => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.16.1
3
-k3s1
k8s.io/kubelet => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.16.1
3
-k3s1
k8s.io/kubernetes => github.com/rancher/kubernetes v1.16.1
3
-k3s1
k8s.io/legacy-cloud-providers => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.16.1
3
-k3s1
k8s.io/metrics => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.16.1
3
-k3s1
k8s.io/node-api => github.com/rancher/kubernetes/staging/src/k8s.io/node-api v1.16.1
3
-k3s1
k8s.io/sample-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/sample-apiserver v1.16.1
3
-k3s1
k8s.io/sample-cli-plugin => github.com/rancher/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.16.1
3
-k3s1
k8s.io/sample-controller => github.com/rancher/kubernetes/staging/src/k8s.io/sample-controller v1.16.1
3
-k3s1
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
)
...
...
go.sum
View file @
8b33f7f5
This diff is collapsed.
Click to expand it.
vendor/k8s.io/apimachinery/pkg/util/net/http.go
View file @
8b33f7f5
...
...
@@ -431,7 +431,7 @@ redirectLoop:
// Only follow redirects to the same host. Otherwise, propagate the redirect response back.
if
requireSameHostRedirects
&&
location
.
Hostname
()
!=
originalLocation
.
Hostname
()
{
break
redirectLoop
return
nil
,
nil
,
fmt
.
Errorf
(
"hostname mismatch: expected %s, found %s"
,
originalLocation
.
Hostname
(),
location
.
Hostname
())
}
// Reset the connection.
...
...
vendor/k8s.io/apimachinery/pkg/util/proxy/upgradeaware.go
View file @
8b33f7f5
...
...
@@ -298,6 +298,16 @@ func (h *UpgradeAwareHandler) tryUpgrade(w http.ResponseWriter, req *http.Reques
rawResponse
=
headerBytes
}
// If the backend did not upgrade the request, return an error to the client. If the response was
// an error, the error is forwarded directly after the connection is hijacked. Otherwise, just
// return a generic error here.
if
backendHTTPResponse
.
StatusCode
!=
http
.
StatusSwitchingProtocols
&&
backendHTTPResponse
.
StatusCode
<
400
{
err
:=
fmt
.
Errorf
(
"invalid upgrade response: status code %d"
,
backendHTTPResponse
.
StatusCode
)
klog
.
Errorf
(
"Proxy upgrade error: %v"
,
err
)
h
.
Responder
.
Error
(
w
,
req
,
err
)
return
true
}
// Once the connection is hijacked, the ErrorResponder will no longer work, so
// hijacking should be the last step in the upgrade.
requestHijacker
,
ok
:=
w
.
(
http
.
Hijacker
)
...
...
vendor/k8s.io/apiserver/pkg/server/config.go
View file @
8b33f7f5
...
...
@@ -561,13 +561,20 @@ func (c completedConfig) New(name string, delegationTarget DelegationTarget) (*G
}
genericApiServerHookName
:=
"generic-apiserver-start-informers"
if
c
.
SharedInformerFactory
!=
nil
&&
!
s
.
isPostStartHookRegistered
(
genericApiServerHookName
)
{
err
:=
s
.
AddPostStartHook
(
genericApiServerHookName
,
func
(
context
PostStartHookContext
)
error
{
c
.
SharedInformerFactory
.
Start
(
context
.
StopCh
)
return
nil
})
if
err
!=
nil
{
return
nil
,
err
if
c
.
SharedInformerFactory
!=
nil
{
if
!
s
.
isPostStartHookRegistered
(
genericApiServerHookName
)
{
err
:=
s
.
AddPostStartHook
(
genericApiServerHookName
,
func
(
context
PostStartHookContext
)
error
{
c
.
SharedInformerFactory
.
Start
(
context
.
StopCh
)
return
nil
})
if
err
!=
nil
{
return
nil
,
err
}
// TODO: Once we get rid of /healthz consider changing this to post-start-hook.
err
=
s
.
addReadyzChecks
(
healthz
.
NewInformerSyncHealthz
(
c
.
SharedInformerFactory
))
if
err
!=
nil
{
return
nil
,
err
}
}
}
...
...
vendor/k8s.io/apiserver/pkg/server/healthz/BUILD
View file @
8b33f7f5
...
...
@@ -27,6 +27,7 @@ go_library(
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server/httplog:go_default_library",
"//staging/src/k8s.io/client-go/informers:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
],
)
...
...
vendor/k8s.io/apiserver/pkg/server/healthz/healthz.go
View file @
8b33f7f5
...
...
@@ -28,6 +28,7 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apiserver/pkg/server/httplog"
"k8s.io/client-go/informers"
"k8s.io/klog"
)
...
...
@@ -80,6 +81,39 @@ func (l *log) Check(_ *http.Request) error {
return
fmt
.
Errorf
(
"logging blocked"
)
}
type
informerSync
struct
{
sharedInformerFactory
informers
.
SharedInformerFactory
}
var
_
HealthChecker
=
&
informerSync
{}
// NewInformerSyncHealthz returns a new HealthChecker that will pass only if all informers in the given sharedInformerFactory sync.
func
NewInformerSyncHealthz
(
sharedInformerFactory
informers
.
SharedInformerFactory
)
HealthChecker
{
return
&
informerSync
{
sharedInformerFactory
:
sharedInformerFactory
,
}
}
func
(
i
*
informerSync
)
Name
()
string
{
return
"informer-sync"
}
func
(
i
*
informerSync
)
Check
(
_
*
http
.
Request
)
error
{
stopCh
:=
make
(
chan
struct
{})
// Close stopCh to force checking if informers are synced now.
close
(
stopCh
)
var
informersByStarted
map
[
bool
][]
string
for
informerType
,
started
:=
range
i
.
sharedInformerFactory
.
WaitForCacheSync
(
stopCh
)
{
informersByStarted
[
started
]
=
append
(
informersByStarted
[
started
],
informerType
.
String
())
}
if
notStarted
:=
informersByStarted
[
false
];
len
(
notStarted
)
>
0
{
return
fmt
.
Errorf
(
"%d informers not started yet: %v"
,
len
(
notStarted
),
notStarted
)
}
return
nil
}
// NamedCheck returns a healthz checker for the given name and function.
func
NamedCheck
(
name
string
,
check
func
(
r
*
http
.
Request
)
error
)
HealthChecker
{
return
&
healthzCheck
{
name
,
check
}
...
...
vendor/k8s.io/client-go/pkg/version/base.go
View file @
8b33f7f5
...
...
@@ -3,8 +3,8 @@ package version
var
(
gitMajor
=
"1"
gitMinor
=
"16"
gitVersion
=
"v1.16.1
1
-k3s1"
gitCommit
=
"
a2d85ac363941a5280ccd3a1415e38326c843dbe
"
gitVersion
=
"v1.16.1
3
-k3s1"
gitCommit
=
"
0b9525c21107dd05b47060ade21a607549116813
"
gitTreeState
=
"clean"
buildDate
=
"2020-0
6-17T18:17:34
Z"
buildDate
=
"2020-0
7-16T00:35:22
Z"
)
vendor/k8s.io/component-base/version/base.go
View file @
8b33f7f5
...
...
@@ -3,8 +3,8 @@ package version
var
(
gitMajor
=
"1"
gitMinor
=
"16"
gitVersion
=
"v1.16.1
1
-k3s1"
gitCommit
=
"
a2d85ac363941a5280ccd3a1415e38326c843dbe
"
gitVersion
=
"v1.16.1
3
-k3s1"
gitCommit
=
"
0b9525c21107dd05b47060ade21a607549116813
"
gitTreeState
=
"clean"
buildDate
=
"2020-0
6-17T18:17:34
Z"
buildDate
=
"2020-0
7-16T00:35:22
Z"
)
vendor/k8s.io/kubectl/pkg/version/base.go
View file @
8b33f7f5
...
...
@@ -3,8 +3,8 @@ package version
var
(
gitMajor
=
"1"
gitMinor
=
"16"
gitVersion
=
"v1.16.1
1
-k3s1"
gitCommit
=
"
a2d85ac363941a5280ccd3a1415e38326c843dbe
"
gitVersion
=
"v1.16.1
3
-k3s1"
gitCommit
=
"
0b9525c21107dd05b47060ade21a607549116813
"
gitTreeState
=
"clean"
buildDate
=
"2020-0
6-17T18:17:34
Z"
buildDate
=
"2020-0
7-16T00:35:22
Z"
)
vendor/k8s.io/kubernetes/pkg/apis/core/types.go
View file @
8b33f7f5
...
...
@@ -4142,7 +4142,7 @@ type PodLogOptions struct {
// If this value is in the future, no logs will be returned.
// Only one of sinceSeconds or sinceTime may be specified.
SinceTime
*
metav1
.
Time
// If true, add an RFC
3339 or RFC3339Nano timestamp
at the beginning of every line
// If true, add an RFC
3339 timestamp with 9 digits of fractional seconds
at the beginning of every line
// of log output.
Timestamps
bool
// If set, the number of lines from the end of the logs to show. If not specified,
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/docker_stats.go
View file @
8b33f7f5
...
...
@@ -53,8 +53,9 @@ func (ds *dockerService) ListContainerStats(ctx context.Context, r *runtimeapi.L
if
err
!=
nil
{
return
nil
,
err
}
stats
=
append
(
stats
,
containerStats
)
if
containerStats
!=
nil
{
stats
=
append
(
stats
,
containerStats
)
}
}
return
&
runtimeapi
.
ListContainerStatsResponse
{
Stats
:
stats
},
nil
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/docker_stats_windows.go
View file @
8b33f7f5
...
...
@@ -35,7 +35,13 @@ func (ds *dockerService) getContainerStats(containerID string) (*runtimeapi.Cont
hcsshim_container
,
err
:=
hcsshim
.
OpenContainer
(
containerID
)
if
err
!=
nil
{
return
nil
,
err
// As we moved from using Docker stats to hcsshim directly, we may query HCS with already exited container IDs.
// That will typically happen with init-containers in Exited state. Docker still knows about them but the HCS does not.
// As we don't want to block stats retrieval for other containers, we only log errors.
if
!
hcsshim
.
IsNotExist
(
err
)
&&
!
hcsshim
.
IsAlreadyStopped
(
err
)
{
klog
.
Errorf
(
"Error opening container (stats will be missing) '%s': %v"
,
containerID
,
err
)
}
return
nil
,
nil
}
defer
func
()
{
closeErr
:=
hcsshim_container
.
Close
()
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/BUILD
View file @
8b33f7f5
...
...
@@ -66,6 +66,7 @@ go_library(
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/clock:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/eviction_manager.go
View file @
8b33f7f5
...
...
@@ -26,6 +26,7 @@ import (
v1
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/clock"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
"k8s.io/client-go/tools/record"
...
...
@@ -90,6 +91,8 @@ type managerImpl struct {
thresholdNotifiers
[]
ThresholdNotifier
// thresholdsLastUpdated is the last time the thresholdNotifiers were updated.
thresholdsLastUpdated
time
.
Time
// etcHostsPath is a function that will get the etc-hosts file's path for a pod given its UID
etcHostsPath
func
(
podUID
types
.
UID
)
string
}
// ensure it implements the required interface
...
...
@@ -106,6 +109,7 @@ func NewManager(
recorder
record
.
EventRecorder
,
nodeRef
*
v1
.
ObjectReference
,
clock
clock
.
Clock
,
etcHostsPath
func
(
types
.
UID
)
string
,
)
(
Manager
,
lifecycle
.
PodAdmitHandler
)
{
manager
:=
&
managerImpl
{
clock
:
clock
,
...
...
@@ -121,6 +125,7 @@ func NewManager(
thresholdsFirstObservedAt
:
thresholdsObservedAt
{},
dedicatedImageFs
:
nil
,
thresholdNotifiers
:
[]
ThresholdNotifier
{},
etcHostsPath
:
etcHostsPath
,
}
return
manager
,
manager
}
...
...
@@ -503,7 +508,7 @@ func (m *managerImpl) podEphemeralStorageLimitEviction(podStats statsapi.PodStat
}
else
{
fsStatsSet
=
[]
fsStatsType
{
fsStatsRoot
,
fsStatsLogs
,
fsStatsLocalVolumeSource
}
}
podEphemeralUsage
,
err
:=
podLocalEphemeralStorageUsage
(
podStats
,
pod
,
fsStatsSet
)
podEphemeralUsage
,
err
:=
podLocalEphemeralStorageUsage
(
podStats
,
pod
,
fsStatsSet
,
m
.
etcHostsPath
(
pod
.
UID
)
)
if
err
!=
nil
{
klog
.
Errorf
(
"eviction manager: error getting pod disk usage %v"
,
err
)
return
false
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/helpers.go
View file @
8b33f7f5
...
...
@@ -18,6 +18,7 @@ package eviction
import
(
"fmt"
"os"
"sort"
"strconv"
"strings"
...
...
@@ -415,7 +416,7 @@ func localEphemeralVolumeNames(pod *v1.Pod) []string {
}
// podLocalEphemeralStorageUsage aggregates pod local ephemeral storage usage and inode consumption for the specified stats to measure.
func
podLocalEphemeralStorageUsage
(
podStats
statsapi
.
PodStats
,
pod
*
v1
.
Pod
,
statsToMeasure
[]
fsStatsType
)
(
v1
.
ResourceList
,
error
)
{
func
podLocalEphemeralStorageUsage
(
podStats
statsapi
.
PodStats
,
pod
*
v1
.
Pod
,
statsToMeasure
[]
fsStatsType
,
etcHostsPath
string
)
(
v1
.
ResourceList
,
error
)
{
disk
:=
resource
.
Quantity
{
Format
:
resource
.
BinarySI
}
inodes
:=
resource
.
Quantity
{
Format
:
resource
.
DecimalSI
}
...
...
@@ -429,6 +430,12 @@ func podLocalEphemeralStorageUsage(podStats statsapi.PodStats, pod *v1.Pod, stat
disk
.
Add
(
podLocalVolumeUsageList
[
v1
.
ResourceEphemeralStorage
])
inodes
.
Add
(
podLocalVolumeUsageList
[
resourceInodes
])
}
if
len
(
etcHostsPath
)
>
0
{
if
stat
,
err
:=
os
.
Stat
(
etcHostsPath
);
err
==
nil
{
disk
.
Add
(
*
resource
.
NewQuantity
(
int64
(
stat
.
Size
()),
resource
.
BinarySI
))
inodes
.
Add
(
*
resource
.
NewQuantity
(
int64
(
1
),
resource
.
DecimalSI
))
}
}
return
v1
.
ResourceList
{
v1
.
ResourceEphemeralStorage
:
disk
,
resourceInodes
:
inodes
,
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go
View file @
8b33f7f5
...
...
@@ -831,8 +831,9 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
klet
.
backOff
=
flowcontrol
.
NewBackOff
(
backOffPeriod
,
MaxContainerBackOff
)
klet
.
podKillingCh
=
make
(
chan
*
kubecontainer
.
PodPair
,
podKillingChannelCapacity
)
etcHostsPathFunc
:=
func
(
podUID
types
.
UID
)
string
{
return
getEtcHostsPath
(
klet
.
getPodDir
(
podUID
))
}
// setup eviction manager
evictionManager
,
evictionAdmitHandler
:=
eviction
.
NewManager
(
klet
.
resourceAnalyzer
,
evictionConfig
,
killPodNow
(
klet
.
podWorkers
,
kubeDeps
.
Recorder
),
klet
.
podManager
.
GetMirrorPodByPod
,
klet
.
imageManager
,
klet
.
containerGC
,
kubeDeps
.
Recorder
,
nodeRef
,
klet
.
clock
)
evictionManager
,
evictionAdmitHandler
:=
eviction
.
NewManager
(
klet
.
resourceAnalyzer
,
evictionConfig
,
killPodNow
(
klet
.
podWorkers
,
kubeDeps
.
Recorder
),
klet
.
podManager
.
GetMirrorPodByPod
,
klet
.
imageManager
,
klet
.
containerGC
,
kubeDeps
.
Recorder
,
nodeRef
,
klet
.
clock
,
etcHostsPathFunc
)
klet
.
evictionManager
=
evictionManager
klet
.
admitHandlers
.
AddPodAdmitHandler
(
evictionAdmitHandler
)
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_network_linux.go
View file @
8b33f7f5
...
...
@@ -53,7 +53,7 @@ func (kl *Kubelet) syncNetworkUtil() {
klog
.
Errorf
(
"Failed to ensure that %s chain %s exists: %v"
,
utiliptables
.
TableNAT
,
KubeMarkDropChain
,
err
)
return
}
if
_
,
err
:=
kl
.
iptClient
.
EnsureRule
(
utiliptables
.
Append
,
utiliptables
.
TableNAT
,
KubeMarkDropChain
,
"-j"
,
"MARK"
,
"--
set-x
mark"
,
dropMark
);
err
!=
nil
{
if
_
,
err
:=
kl
.
iptClient
.
EnsureRule
(
utiliptables
.
Append
,
utiliptables
.
TableNAT
,
KubeMarkDropChain
,
"-j"
,
"MARK"
,
"--
or-
mark"
,
dropMark
);
err
!=
nil
{
klog
.
Errorf
(
"Failed to ensure marking rule for %v: %v"
,
KubeMarkDropChain
,
err
)
return
}
...
...
@@ -63,7 +63,7 @@ func (kl *Kubelet) syncNetworkUtil() {
}
if
_
,
err
:=
kl
.
iptClient
.
EnsureRule
(
utiliptables
.
Append
,
utiliptables
.
TableFilter
,
KubeFirewallChain
,
"-m"
,
"comment"
,
"--comment"
,
"kubernetes firewall for dropping marked packets"
,
"-m"
,
"mark"
,
"--mark"
,
dropMark
,
"-m"
,
"mark"
,
"--mark"
,
fmt
.
Sprintf
(
"%s/%s"
,
dropMark
,
dropMark
)
,
"-j"
,
"DROP"
);
err
!=
nil
{
klog
.
Errorf
(
"Failed to ensure rule to drop packet marked by %v in %v chain %v: %v"
,
KubeMarkDropChain
,
utiliptables
.
TableFilter
,
KubeFirewallChain
,
err
)
return
...
...
@@ -103,7 +103,7 @@ func (kl *Kubelet) syncNetworkUtil() {
klog
.
Errorf
(
"Failed to ensure that %s chain %s exists: %v"
,
utiliptables
.
TableNAT
,
KubePostroutingChain
,
err
)
return
}
if
_
,
err
:=
kl
.
iptClient
.
EnsureRule
(
utiliptables
.
Append
,
utiliptables
.
TableNAT
,
KubeMarkMasqChain
,
"-j"
,
"MARK"
,
"--
set-x
mark"
,
masqueradeMark
);
err
!=
nil
{
if
_
,
err
:=
kl
.
iptClient
.
EnsureRule
(
utiliptables
.
Append
,
utiliptables
.
TableNAT
,
KubeMarkMasqChain
,
"-j"
,
"MARK"
,
"--
or-
mark"
,
masqueradeMark
);
err
!=
nil
{
klog
.
Errorf
(
"Failed to ensure marking rule for %v: %v"
,
KubeMarkMasqChain
,
err
)
return
}
...
...
@@ -112,12 +112,26 @@ func (kl *Kubelet) syncNetworkUtil() {
klog
.
Errorf
(
"Failed to ensure that %s chain %s jumps to %s: %v"
,
utiliptables
.
TableNAT
,
utiliptables
.
ChainPostrouting
,
KubePostroutingChain
,
err
)
return
}
// Establish the masquerading rule.
// Set up KUBE-POSTROUTING to unmark and masquerade marked packets
// NB: THIS MUST MATCH the corresponding code in the iptables and ipvs
// modes of kube-proxy
if
_
,
err
:=
kl
.
iptClient
.
EnsureRule
(
utiliptables
.
Append
,
utiliptables
.
TableNAT
,
KubePostroutingChain
,
"-m"
,
"mark"
,
"!"
,
"--mark"
,
fmt
.
Sprintf
(
"%s/%s"
,
masqueradeMark
,
masqueradeMark
),
"-j"
,
"RETURN"
);
err
!=
nil
{
klog
.
Errorf
(
"Failed to ensure filtering rule for %v: %v"
,
KubePostroutingChain
,
err
)
return
}
// Clear the mark to avoid re-masquerading if the packet re-traverses the network stack.
// We know the mark bit is currently set so we can use --xor-mark to clear it (without needing
// to Sprintf another bitmask).
if
_
,
err
:=
kl
.
iptClient
.
EnsureRule
(
utiliptables
.
Append
,
utiliptables
.
TableNAT
,
KubePostroutingChain
,
"-j"
,
"MARK"
,
"--xor-mark"
,
masqueradeMark
);
err
!=
nil
{
klog
.
Errorf
(
"Failed to ensure unmarking rule for %v: %v"
,
KubePostroutingChain
,
err
)
return
}
masqRule
:=
[]
string
{
"-m"
,
"comment"
,
"--comment"
,
"kubernetes service traffic requiring SNAT"
,
"-m"
,
"mark"
,
"--mark"
,
masqueradeMark
,
"-j"
,
"MASQUERADE"
,
}
if
kl
.
iptClient
.
HasRandomFully
()
{
...
...
@@ -135,5 +149,5 @@ func (kl *Kubelet) syncNetworkUtil() {
// getIPTablesMark returns the fwmark given the bit
func
getIPTablesMark
(
bit
int
)
string
{
value
:=
1
<<
uint
(
bit
)
return
fmt
.
Sprintf
(
"%#08x
/%#08x"
,
value
,
value
)
return
fmt
.
Sprintf
(
"%#08x
"
,
value
)
}
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_pods.go
View file @
8b33f7f5
...
...
@@ -291,10 +291,15 @@ func translateMountPropagation(mountMode *v1.MountPropagationMode) (runtimeapi.M
}
}
// getEtcHostsPath returns the full host-side path to a pod's generated /etc/hosts file
func
getEtcHostsPath
(
podDir
string
)
string
{
return
path
.
Join
(
podDir
,
"etc-hosts"
)
}
// makeHostsMount makes the mountpoint for the hosts file that the containers
// in a pod are injected with.
func
makeHostsMount
(
podDir
,
podIP
,
hostName
,
hostDomainName
string
,
hostAliases
[]
v1
.
HostAlias
,
useHostNetwork
bool
)
(
*
kubecontainer
.
Mount
,
error
)
{
hostsFilePath
:=
path
.
Join
(
podDir
,
"etc-hosts"
)
hostsFilePath
:=
getEtcHostsPath
(
podDir
)
if
err
:=
ensureHostsFile
(
hostsFilePath
,
podIP
,
hostName
,
hostDomainName
,
hostAliases
,
useHostNetwork
);
err
!=
nil
{
return
nil
,
err
}
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kuberuntime/logs/BUILD
View file @
8b33f7f5
...
...
@@ -6,6 +6,7 @@ go_library(
importpath = "k8s.io/kubernetes/pkg/kubelet/kuberuntime/logs",
visibility = ["//visibility:public"],
deps = [
"//pkg/kubelet/types:go_default_library",
"//pkg/util/tail:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/cri-api/pkg/apis:go_default_library",
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kuberuntime/logs/logs.go
View file @
8b33f7f5
...
...
@@ -36,6 +36,7 @@ import (
"k8s.io/api/core/v1"
internalapi
"k8s.io/cri-api/pkg/apis"
runtimeapi
"k8s.io/cri-api/pkg/apis/runtime/v1alpha2"
"k8s.io/kubernetes/pkg/kubelet/types"
"k8s.io/kubernetes/pkg/util/tail"
)
...
...
@@ -48,8 +49,10 @@ import (
// TODO(random-liu): Support log rotation.
const
(
// timeFormat is the time format used in the log.
timeFormat
=
time
.
RFC3339Nano
// timeFormatOut is the format for writing timestamps to output.
timeFormatOut
=
types
.
RFC3339NanoFixed
// timeFormatIn is the format for parsing timestamps from other logs.
timeFormatIn
=
types
.
RFC3339NanoLenient
// stateCheckPeriod is the period to check container state while following
// the container log. Kubelet should not keep following the log when the
...
...
@@ -134,9 +137,9 @@ func parseCRILog(log []byte, msg *logMessage) error {
if
idx
<
0
{
return
fmt
.
Errorf
(
"timestamp is not found"
)
}
msg
.
timestamp
,
err
=
time
.
Parse
(
timeFormat
,
string
(
log
[
:
idx
]))
msg
.
timestamp
,
err
=
time
.
Parse
(
timeFormat
In
,
string
(
log
[
:
idx
]))
if
err
!=
nil
{
return
fmt
.
Errorf
(
"unexpected timestamp format %q: %v"
,
timeFormat
,
err
)
return
fmt
.
Errorf
(
"unexpected timestamp format %q: %v"
,
timeFormat
In
,
err
)
}
// Parse stream type
...
...
@@ -233,7 +236,7 @@ func (w *logWriter) write(msg *logMessage) error {
}
line
:=
msg
.
log
if
w
.
opts
.
timestamp
{
prefix
:=
append
([]
byte
(
msg
.
timestamp
.
Format
(
timeFormat
)),
delimiter
[
0
])
prefix
:=
append
([]
byte
(
msg
.
timestamp
.
Format
(
timeFormat
Out
)),
delimiter
[
0
])
line
=
append
(
prefix
,
line
...
)
}
// If the line is longer than the remaining bytes, cut it.
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/types/constants.go
View file @
8b33f7f5
...
...
@@ -29,4 +29,9 @@ const (
SystemReservedEnforcementKey
=
"system-reserved"
KubeReservedEnforcementKey
=
"kube-reserved"
NodeAllocatableNoneKey
=
"none"
// fixed width version of time.RFC3339Nano
RFC3339NanoFixed
=
"2006-01-02T15:04:05.000000000Z07:00"
// variable width RFC3339 time format for lenient parsing of strings into timestamps
RFC3339NanoLenient
=
"2006-01-02T15:04:05.999999999Z07:00"
)
vendor/k8s.io/kubernetes/pkg/kubelet/types/types.go
View file @
8b33f7f5
...
...
@@ -41,10 +41,10 @@ func NewTimestamp() *Timestamp {
return
&
Timestamp
{
time
.
Now
()}
}
// ConvertToTimestamp takes a string, parses it using the RFC3339Nano layout,
// ConvertToTimestamp takes a string, parses it using the RFC3339Nano
Lenient
layout,
// and converts it to a Timestamp object.
func
ConvertToTimestamp
(
timeString
string
)
*
Timestamp
{
parsed
,
_
:=
time
.
Parse
(
time
.
RFC3339Nano
,
timeString
)
parsed
,
_
:=
time
.
Parse
(
RFC3339NanoLenient
,
timeString
)
return
&
Timestamp
{
parsed
}
}
...
...
@@ -53,10 +53,10 @@ func (t *Timestamp) Get() time.Time {
return
t
.
time
}
// GetString returns the time in the string format using the RFC3339Nano
// GetString returns the time in the string format using the RFC3339Nano
Fixed
// layout.
func
(
t
*
Timestamp
)
GetString
()
string
{
return
t
.
time
.
Format
(
time
.
RFC3339Nano
)
return
t
.
time
.
Format
(
RFC3339NanoFixed
)
}
// A type to help sort container statuses based on container names.
...
...
vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers.go
View file @
8b33f7f5
...
...
@@ -581,6 +581,16 @@ func listWithMoreString(list []string, more bool, count, max int) string {
return
ret
}
// translateMicroTimestampSince returns the elapsed time since timestamp in
// human-readable approximation.
func
translateMicroTimestampSince
(
timestamp
metav1
.
MicroTime
)
string
{
if
timestamp
.
IsZero
()
{
return
"<unknown>"
}
return
duration
.
HumanDuration
(
time
.
Since
(
timestamp
.
Time
))
}
// translateTimestampSince returns the elapsed time since timestamp in
// human-readable approximation.
func
translateTimestampSince
(
timestamp
metav1
.
Time
)
string
{
...
...
@@ -1447,7 +1457,13 @@ func printEvent(obj *api.Event, options printers.GenerateOptions) ([]metav1beta1
}
firstTimestamp
:=
translateTimestampSince
(
obj
.
FirstTimestamp
)
if
obj
.
FirstTimestamp
.
IsZero
()
{
firstTimestamp
=
translateMicroTimestampSince
(
obj
.
EventTime
)
}
lastTimestamp
:=
translateTimestampSince
(
obj
.
LastTimestamp
)
if
obj
.
LastTimestamp
.
IsZero
()
{
lastTimestamp
=
firstTimestamp
}
var
target
string
if
len
(
obj
.
InvolvedObject
.
Name
)
>
0
{
...
...
vendor/k8s.io/kubernetes/pkg/proxy/iptables/proxier.go
View file @
8b33f7f5
...
...
@@ -276,7 +276,7 @@ func NewProxier(ipt utiliptables.Interface,
// Generate the masquerade mark to use for SNAT rules.
masqueradeValue
:=
1
<<
uint
(
masqueradeBit
)
masqueradeMark
:=
fmt
.
Sprintf
(
"%#08x
/%#08x"
,
masqueradeValue
,
masqueradeValue
)
masqueradeMark
:=
fmt
.
Sprintf
(
"%#08x
"
,
masqueradeValue
)
if
len
(
clusterCIDR
)
==
0
{
klog
.
Warning
(
"clusterCIDR not specified, unable to distinguish between internal and external traffic"
)
...
...
@@ -780,10 +780,20 @@ func (proxier *Proxier) syncProxyRules() {
// this so that it is easier to flush and change, for example if the mark
// value should ever change.
// NB: THIS MUST MATCH the corresponding code in the kubelet
writeLine
(
proxier
.
natRules
,
[]
string
{
"-A"
,
string
(
kubePostroutingChain
),
"-m"
,
"mark"
,
"!"
,
"--mark"
,
fmt
.
Sprintf
(
"%s/%s"
,
proxier
.
masqueradeMark
,
proxier
.
masqueradeMark
),
"-j"
,
"RETURN"
,
}
...
)
// Clear the mark to avoid re-masquerading if the packet re-traverses the network stack.
writeLine
(
proxier
.
natRules
,
[]
string
{
"-A"
,
string
(
kubePostroutingChain
),
// XOR proxier.masqueradeMark to unset it
"-j"
,
"MARK"
,
"--xor-mark"
,
proxier
.
masqueradeMark
,
}
...
)
masqRule
:=
[]
string
{
"-A"
,
string
(
kubePostroutingChain
),
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes service traffic requiring SNAT"`
,
"-m"
,
"mark"
,
"--mark"
,
proxier
.
masqueradeMark
,
"-j"
,
"MASQUERADE"
,
}
if
proxier
.
iptables
.
HasRandomFully
()
{
...
...
@@ -799,7 +809,7 @@ func (proxier *Proxier) syncProxyRules() {
// value should ever change.
writeLine
(
proxier
.
natRules
,
[]
string
{
"-A"
,
string
(
KubeMarkMasqChain
),
"-j"
,
"MARK"
,
"--
set-x
mark"
,
proxier
.
masqueradeMark
,
"-j"
,
"MARK"
,
"--
or-
mark"
,
proxier
.
masqueradeMark
,
}
...
)
// Accumulate NAT chains to keep.
...
...
@@ -1372,7 +1382,7 @@ func (proxier *Proxier) syncProxyRules() {
writeLine
(
proxier
.
filterRules
,
"-A"
,
string
(
kubeForwardChain
),
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes forwarding rules"`
,
"-m"
,
"mark"
,
"--mark"
,
proxier
.
masqueradeMark
,
"-m"
,
"mark"
,
"--mark"
,
fmt
.
Sprintf
(
"%s/%s"
,
proxier
.
masqueradeMark
,
proxier
.
masqueradeMark
)
,
"-j"
,
"ACCEPT"
,
)
...
...
vendor/k8s.io/kubernetes/pkg/proxy/ipvs/proxier.go
View file @
8b33f7f5
...
...
@@ -399,7 +399,7 @@ func NewProxier(ipt utiliptables.Interface,
// Generate the masquerade mark to use for SNAT rules.
masqueradeValue
:=
1
<<
uint
(
masqueradeBit
)
masqueradeMark
:=
fmt
.
Sprintf
(
"%#08x
/%#08x"
,
masqueradeValue
,
masqueradeValue
)
masqueradeMark
:=
fmt
.
Sprintf
(
"%#08x
"
,
masqueradeValue
)
isIPv6
:=
utilnet
.
IsIPv6
(
nodeIP
)
...
...
@@ -1621,7 +1621,7 @@ func (proxier *Proxier) writeIptablesRules() {
writeLine
(
proxier
.
filterRules
,
"-A"
,
string
(
KubeForwardChain
),
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes forwarding rules"`
,
"-m"
,
"mark"
,
"--mark"
,
proxier
.
masqueradeMark
,
"-m"
,
"mark"
,
"--mark"
,
fmt
.
Sprintf
(
"%s/%s"
,
proxier
.
masqueradeMark
,
proxier
.
masqueradeMark
)
,
"-j"
,
"ACCEPT"
,
)
...
...
@@ -1649,6 +1649,39 @@ func (proxier *Proxier) writeIptablesRules() {
)
}
// Install the kubernetes-specific postrouting rules. We use a whole chain for
// this so that it is easier to flush and change, for example if the mark
// value should ever change.
// NB: THIS MUST MATCH the corresponding code in the kubelet
writeLine
(
proxier
.
natRules
,
[]
string
{
"-A"
,
string
(
kubePostroutingChain
),
"-m"
,
"mark"
,
"!"
,
"--mark"
,
fmt
.
Sprintf
(
"%s/%s"
,
proxier
.
masqueradeMark
,
proxier
.
masqueradeMark
),
"-j"
,
"RETURN"
,
}
...
)
// Clear the mark to avoid re-masquerading if the packet re-traverses the network stack.
writeLine
(
proxier
.
natRules
,
[]
string
{
"-A"
,
string
(
kubePostroutingChain
),
// XOR proxier.masqueradeMark to unset it
"-j"
,
"MARK"
,
"--xor-mark"
,
proxier
.
masqueradeMark
,
}
...
)
masqRule
:=
[]
string
{
"-A"
,
string
(
kubePostroutingChain
),
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes service traffic requiring SNAT"`
,
"-j"
,
"MASQUERADE"
,
}
if
proxier
.
iptables
.
HasRandomFully
()
{
masqRule
=
append
(
masqRule
,
"--random-fully"
)
}
writeLine
(
proxier
.
natRules
,
masqRule
...
)
// Install the kubernetes-specific masquerade mark rule. We use a whole chain for
// this so that it is easier to flush and change, for example if the mark
// value should ever change.
writeLine
(
proxier
.
natRules
,
[]
string
{
"-A"
,
string
(
KubeMarkMasqChain
),
"-j"
,
"MARK"
,
"--or-mark"
,
proxier
.
masqueradeMark
,
}
...
)
// Write the end-of-table markers.
writeLine
(
proxier
.
filterRules
,
"COMMIT"
)
writeLine
(
proxier
.
natRules
,
"COMMIT"
)
...
...
@@ -1707,31 +1740,6 @@ func (proxier *Proxier) createAndLinkeKubeChain() {
}
}
// Install the kubernetes-specific postrouting rules. We use a whole chain for
// this so that it is easier to flush and change, for example if the mark
// value should ever change.
// NB: THIS MUST MATCH the corresponding code in the kubelet
masqRule
:=
[]
string
{
"-A"
,
string
(
kubePostroutingChain
),
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes service traffic requiring SNAT"`
,
"-m"
,
"mark"
,
"--mark"
,
proxier
.
masqueradeMark
,
"-j"
,
"MASQUERADE"
,
}
if
proxier
.
iptables
.
HasRandomFully
()
{
masqRule
=
append
(
masqRule
,
"--random-fully"
)
klog
.
V
(
3
)
.
Info
(
"Using `--random-fully` in the MASQUERADE rule for iptables"
)
}
else
{
klog
.
V
(
2
)
.
Info
(
"Not using `--random-fully` in the MASQUERADE rule for iptables because the local version of iptables does not support it"
)
}
writeLine
(
proxier
.
natRules
,
masqRule
...
)
// Install the kubernetes-specific masquerade mark rule. We use a whole chain for
// this so that it is easier to flush and change, for example if the mark
// value should ever change.
writeLine
(
proxier
.
natRules
,
[]
string
{
"-A"
,
string
(
KubeMarkMasqChain
),
"-j"
,
"MARK"
,
"--set-xmark"
,
proxier
.
masqueradeMark
,
}
...
)
}
// getExistingChains get iptables-save output so we can check for existing chains and rules.
...
...
vendor/k8s.io/kubernetes/pkg/version/base.go
View file @
8b33f7f5
...
...
@@ -3,8 +3,8 @@ package version
var
(
gitMajor
=
"1"
gitMinor
=
"16"
gitVersion
=
"v1.16.1
1
-k3s1"
gitCommit
=
"
a2d85ac363941a5280ccd3a1415e38326c843dbe
"
gitVersion
=
"v1.16.1
3
-k3s1"
gitCommit
=
"
0b9525c21107dd05b47060ade21a607549116813
"
gitTreeState
=
"clean"
buildDate
=
"2020-0
6-17T18:17:34
Z"
buildDate
=
"2020-0
7-16T00:35:22
Z"
)
vendor/k8s.io/legacy-cloud-providers/azure/azure_controller_standard.go
View file @
8b33f7f5
...
...
@@ -23,6 +23,7 @@ import (
"strings"
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-07-01/compute"
"github.com/Azure/go-autorest/autorest/to"
"k8s.io/apimachinery/pkg/types"
"k8s.io/klog"
...
...
@@ -125,7 +126,7 @@ func (as *availabilitySet) DetachDisk(diskName, diskURI string, nodeName types.N
(
disk
.
ManagedDisk
!=
nil
&&
diskURI
!=
""
&&
strings
.
EqualFold
(
*
disk
.
ManagedDisk
.
ID
,
diskURI
))
{
// found the disk
klog
.
V
(
2
)
.
Infof
(
"azureDisk - detach disk: name %q uri %q"
,
diskName
,
diskURI
)
disks
=
append
(
disks
[
:
i
],
disks
[
i
+
1
:
]
...
)
disks
[
i
]
.
ToBeDetached
=
to
.
BoolPtr
(
true
)
bFoundDisk
=
true
break
}
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_controller_vmss.go
View file @
8b33f7f5
...
...
@@ -23,6 +23,7 @@ import (
"strings"
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-07-01/compute"
"github.com/Azure/go-autorest/autorest/to"
"k8s.io/apimachinery/pkg/types"
"k8s.io/klog"
...
...
@@ -129,7 +130,7 @@ func (ss *scaleSet) DetachDisk(diskName, diskURI string, nodeName types.NodeName
(
disk
.
ManagedDisk
!=
nil
&&
diskURI
!=
""
&&
strings
.
EqualFold
(
*
disk
.
ManagedDisk
.
ID
,
diskURI
))
{
// found the disk
klog
.
V
(
2
)
.
Infof
(
"azureDisk - detach disk: name %q uri %q"
,
diskName
,
diskURI
)
disks
=
append
(
disks
[
:
i
],
disks
[
i
+
1
:
]
...
)
disks
[
i
]
.
ToBeDetached
=
to
.
BoolPtr
(
true
)
bFoundDisk
=
true
break
}
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go
View file @
8b33f7f5
...
...
@@ -102,6 +102,8 @@ const (
serviceTagKey
=
"service"
// clusterNameKey is the cluster name key applied for public IP tags.
clusterNameKey
=
"kubernetes-cluster-name"
defaultLoadBalancerSourceRanges
=
"0.0.0.0/0"
)
// GetLoadBalancer returns whether the specified load balancer and its components exist, and
...
...
@@ -1134,6 +1136,7 @@ func (az *Cloud) reconcileSecurityGroup(clusterName string, service *v1.Service,
if
lbIP
!=
nil
{
destinationIPAddress
=
*
lbIP
}
if
destinationIPAddress
==
""
{
destinationIPAddress
=
"*"
}
...
...
@@ -1143,6 +1146,12 @@ func (az *Cloud) reconcileSecurityGroup(clusterName string, service *v1.Service,
return
nil
,
err
}
serviceTags
:=
getServiceTags
(
service
)
if
len
(
serviceTags
)
!=
0
{
if
_
,
ok
:=
sourceRanges
[
defaultLoadBalancerSourceRanges
];
ok
{
delete
(
sourceRanges
,
defaultLoadBalancerSourceRanges
)
}
}
var
sourceAddressPrefixes
[]
string
if
(
sourceRanges
==
nil
||
servicehelpers
.
IsAllowAll
(
sourceRanges
))
&&
len
(
serviceTags
)
==
0
{
if
!
requiresInternalLoadBalancer
(
service
)
{
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_managedDiskController.go
View file @
8b33f7f5
...
...
@@ -313,6 +313,13 @@ func (c *Cloud) GetAzureDiskLabels(diskURI string) (map[string]string, error) {
return
nil
,
err
}
labels
:=
map
[
string
]
string
{
v1
.
LabelZoneRegion
:
c
.
Location
,
}
// no azure credential is set, return nil
if
c
.
DisksClient
==
nil
{
return
labels
,
nil
}
// Get information of the disk.
ctx
,
cancel
:=
getContextWithCancel
()
defer
cancel
()
...
...
@@ -325,7 +332,7 @@ func (c *Cloud) GetAzureDiskLabels(diskURI string) (map[string]string, error) {
// Check whether availability zone is specified.
if
disk
.
Zones
==
nil
||
len
(
*
disk
.
Zones
)
==
0
{
klog
.
V
(
4
)
.
Infof
(
"Azure disk %q is not zoned"
,
diskName
)
return
nil
,
nil
return
labels
,
nil
}
zones
:=
*
disk
.
Zones
...
...
@@ -336,9 +343,6 @@ func (c *Cloud) GetAzureDiskLabels(diskURI string) (map[string]string, error) {
zone
:=
c
.
makeZone
(
c
.
Location
,
zoneID
)
klog
.
V
(
4
)
.
Infof
(
"Got zone %q for Azure disk %q"
,
zone
,
diskName
)
labels
:=
map
[
string
]
string
{
v1
.
LabelZoneRegion
:
c
.
Location
,
v1
.
LabelZoneFailureDomain
:
zone
,
}
labels
[
v1
.
LabelZoneFailureDomain
]
=
zone
return
labels
,
nil
}
vendor/modules.txt
View file @
8b33f7f5
...
...
@@ -1130,7 +1130,7 @@ gopkg.in/square/go-jose.v2/jwt
gopkg.in/warnings.v0
# gopkg.in/yaml.v2 v2.2.8
gopkg.in/yaml.v2
# k8s.io/api v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.16.1
1
-k3s1
# k8s.io/api v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.16.1
3
-k3s1
k8s.io/api/admission/v1
k8s.io/api/admission/v1beta1
k8s.io/api/admissionregistration/v1
...
...
@@ -1172,7 +1172,7 @@ k8s.io/api/settings/v1alpha1
k8s.io/api/storage/v1
k8s.io/api/storage/v1alpha1
k8s.io/api/storage/v1beta1
# k8s.io/apiextensions-apiserver v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.16.1
1
-k3s1
# k8s.io/apiextensions-apiserver v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.16.1
3
-k3s1
k8s.io/apiextensions-apiserver/pkg/apihelpers
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install
...
...
@@ -1220,7 +1220,7 @@ k8s.io/apiextensions-apiserver/pkg/generated/openapi
k8s.io/apiextensions-apiserver/pkg/registry/customresource
k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor
k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition
# k8s.io/apimachinery v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.16.1
1
-k3s1
# k8s.io/apimachinery v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.16.1
3
-k3s1
k8s.io/apimachinery/pkg/api/equality
k8s.io/apimachinery/pkg/api/errors
k8s.io/apimachinery/pkg/api/meta
...
...
@@ -1282,7 +1282,7 @@ k8s.io/apimachinery/pkg/watch
k8s.io/apimachinery/third_party/forked/golang/json
k8s.io/apimachinery/third_party/forked/golang/netutil
k8s.io/apimachinery/third_party/forked/golang/reflect
# k8s.io/apiserver v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.16.1
1
-k3s1
# k8s.io/apiserver v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.16.1
3
-k3s1
k8s.io/apiserver/pkg/admission
k8s.io/apiserver/pkg/admission/configuration
k8s.io/apiserver/pkg/admission/initializer
...
...
@@ -1395,7 +1395,7 @@ k8s.io/apiserver/plugin/pkg/authenticator/request/basicauth
k8s.io/apiserver/plugin/pkg/authenticator/token/oidc
k8s.io/apiserver/plugin/pkg/authenticator/token/webhook
k8s.io/apiserver/plugin/pkg/authorizer/webhook
# k8s.io/cli-runtime v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.16.1
1
-k3s1
# k8s.io/cli-runtime v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.16.1
3
-k3s1
k8s.io/cli-runtime/pkg/genericclioptions
k8s.io/cli-runtime/pkg/kustomize
k8s.io/cli-runtime/pkg/kustomize/k8sdeps
...
...
@@ -1408,7 +1408,7 @@ k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/patch
k8s.io/cli-runtime/pkg/kustomize/k8sdeps/validator
k8s.io/cli-runtime/pkg/printers
k8s.io/cli-runtime/pkg/resource
# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.16.1
1
-k3s1
# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.16.1
3
-k3s1
k8s.io/client-go/discovery
k8s.io/client-go/discovery/cached
k8s.io/client-go/discovery/cached/disk
...
...
@@ -1594,20 +1594,20 @@ k8s.io/client-go/util/jsonpath
k8s.io/client-go/util/keyutil
k8s.io/client-go/util/retry
k8s.io/client-go/util/workqueue
# k8s.io/cloud-provider v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.16.1
1
-k3s1
# k8s.io/cloud-provider v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.16.1
3
-k3s1
k8s.io/cloud-provider
k8s.io/cloud-provider/node/helpers
k8s.io/cloud-provider/service/helpers
k8s.io/cloud-provider/volume
k8s.io/cloud-provider/volume/errors
k8s.io/cloud-provider/volume/helpers
# k8s.io/cluster-bootstrap v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.16.1
1
-k3s1
# k8s.io/cluster-bootstrap v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.16.1
3
-k3s1
k8s.io/cluster-bootstrap/token/api
k8s.io/cluster-bootstrap/token/jws
k8s.io/cluster-bootstrap/token/util
k8s.io/cluster-bootstrap/util/secrets
k8s.io/cluster-bootstrap/util/tokens
# k8s.io/code-generator v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.16.1
1
-k3s1
# k8s.io/code-generator v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.16.1
3
-k3s1
k8s.io/code-generator/cmd/client-gen/args
k8s.io/code-generator/cmd/client-gen/generators
k8s.io/code-generator/cmd/client-gen/generators/fake
...
...
@@ -1622,7 +1622,7 @@ k8s.io/code-generator/cmd/lister-gen/args
k8s.io/code-generator/cmd/lister-gen/generators
k8s.io/code-generator/pkg/namer
k8s.io/code-generator/pkg/util
# k8s.io/component-base v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.16.1
1
-k3s1
# k8s.io/component-base v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.16.1
3
-k3s1
k8s.io/component-base/cli/flag
k8s.io/component-base/cli/globalflag
k8s.io/component-base/config
...
...
@@ -1635,10 +1635,10 @@ k8s.io/component-base/metrics/legacyregistry
k8s.io/component-base/metrics/prometheus/restclient
k8s.io/component-base/metrics/prometheus/workqueue
k8s.io/component-base/version
# k8s.io/cri-api v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.16.1
1
-k3s1
# k8s.io/cri-api v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.16.1
3
-k3s1
k8s.io/cri-api/pkg/apis
k8s.io/cri-api/pkg/apis/runtime/v1alpha2
# k8s.io/csi-translation-lib v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.16.1
1
-k3s1
# k8s.io/csi-translation-lib v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.16.1
3
-k3s1
k8s.io/csi-translation-lib
k8s.io/csi-translation-lib/plugins
# k8s.io/gengo v0.0.0-20190822140433-26a664648505
...
...
@@ -1653,7 +1653,7 @@ k8s.io/gengo/types
k8s.io/heapster/metrics/api/v1/types
# k8s.io/klog v1.0.0
k8s.io/klog
# k8s.io/kube-aggregator v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.16.1
1
-k3s1
# k8s.io/kube-aggregator v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.16.1
3
-k3s1
k8s.io/kube-aggregator/pkg/apis/apiregistration
k8s.io/kube-aggregator/pkg/apis/apiregistration/install
k8s.io/kube-aggregator/pkg/apis/apiregistration/v1
...
...
@@ -1681,7 +1681,7 @@ k8s.io/kube-aggregator/pkg/controllers/status
k8s.io/kube-aggregator/pkg/registry/apiservice
k8s.io/kube-aggregator/pkg/registry/apiservice/etcd
k8s.io/kube-aggregator/pkg/registry/apiservice/rest
# k8s.io/kube-controller-manager v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.16.1
1
-k3s1
# k8s.io/kube-controller-manager v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.16.1
3
-k3s1
k8s.io/kube-controller-manager/config/v1alpha1
# k8s.io/kube-openapi v0.0.0-20200410163147-594e756bea31
k8s.io/kube-openapi/pkg/aggregator
...
...
@@ -1692,11 +1692,11 @@ k8s.io/kube-openapi/pkg/schemaconv
k8s.io/kube-openapi/pkg/util
k8s.io/kube-openapi/pkg/util/proto
k8s.io/kube-openapi/pkg/util/proto/validation
# k8s.io/kube-proxy v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.16.1
1
-k3s1
# k8s.io/kube-proxy v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.16.1
3
-k3s1
k8s.io/kube-proxy/config/v1alpha1
# k8s.io/kube-scheduler v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.16.1
1
-k3s1
# k8s.io/kube-scheduler v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.16.1
3
-k3s1
k8s.io/kube-scheduler/config/v1alpha1
# k8s.io/kubectl v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.16.1
1
-k3s1
# k8s.io/kubectl v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.16.1
3
-k3s1
k8s.io/kubectl/pkg/apps
k8s.io/kubectl/pkg/cmd
k8s.io/kubectl/pkg/cmd/annotate
...
...
@@ -1773,9 +1773,9 @@ k8s.io/kubectl/pkg/util/templates
k8s.io/kubectl/pkg/util/term
k8s.io/kubectl/pkg/validation
k8s.io/kubectl/pkg/version
# k8s.io/kubelet v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.16.1
1
-k3s1
# k8s.io/kubelet v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.16.1
3
-k3s1
k8s.io/kubelet/config/v1beta1
# k8s.io/kubernetes v1.16.0 => github.com/rancher/kubernetes v1.16.1
1
-k3s1
# k8s.io/kubernetes v1.16.0 => github.com/rancher/kubernetes v1.16.1
3
-k3s1
k8s.io/kubernetes/cmd/cloud-controller-manager/app
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme
...
...
@@ -2491,7 +2491,7 @@ k8s.io/kubernetes/third_party/forked/gonum/graph
k8s.io/kubernetes/third_party/forked/gonum/graph/internal/linear
k8s.io/kubernetes/third_party/forked/gonum/graph/simple
k8s.io/kubernetes/third_party/forked/gonum/graph/traverse
# k8s.io/legacy-cloud-providers v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.16.1
1
-k3s1
# k8s.io/legacy-cloud-providers v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.16.1
3
-k3s1
k8s.io/legacy-cloud-providers/aws
k8s.io/legacy-cloud-providers/azure
k8s.io/legacy-cloud-providers/azure/auth
...
...
@@ -2501,7 +2501,7 @@ k8s.io/legacy-cloud-providers/openstack/util/mount
k8s.io/legacy-cloud-providers/vsphere
k8s.io/legacy-cloud-providers/vsphere/vclib
k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers
# k8s.io/metrics v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.16.1
1
-k3s1
# k8s.io/metrics v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.16.1
3
-k3s1
k8s.io/metrics/pkg/apis/custom_metrics
k8s.io/metrics/pkg/apis/custom_metrics/v1beta1
k8s.io/metrics/pkg/apis/custom_metrics/v1beta2
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment