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 (
...
@@ -34,31 +34,31 @@ replace (
github.com/prometheus/client_model => github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910
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/common => github.com/prometheus/common v0.0.0-20181126121408-4724e9255275
github.com/prometheus/procfs => github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a
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/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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
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:
...
@@ -431,7 +431,7 @@ redirectLoop:
// Only follow redirects to the same host. Otherwise, propagate the redirect response back.
// Only follow redirects to the same host. Otherwise, propagate the redirect response back.
if
requireSameHostRedirects
&&
location
.
Hostname
()
!=
originalLocation
.
Hostname
()
{
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.
// 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
...
@@ -298,6 +298,16 @@ func (h *UpgradeAwareHandler) tryUpgrade(w http.ResponseWriter, req *http.Reques
rawResponse
=
headerBytes
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
// Once the connection is hijacked, the ErrorResponder will no longer work, so
// hijacking should be the last step in the upgrade.
// hijacking should be the last step in the upgrade.
requestHijacker
,
ok
:=
w
.
(
http
.
Hijacker
)
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
...
@@ -561,13 +561,20 @@ func (c completedConfig) New(name string, delegationTarget DelegationTarget) (*G
}
}
genericApiServerHookName
:=
"generic-apiserver-start-informers"
genericApiServerHookName
:=
"generic-apiserver-start-informers"
if
c
.
SharedInformerFactory
!=
nil
&&
!
s
.
isPostStartHookRegistered
(
genericApiServerHookName
)
{
if
c
.
SharedInformerFactory
!=
nil
{
err
:=
s
.
AddPostStartHook
(
genericApiServerHookName
,
func
(
context
PostStartHookContext
)
error
{
if
!
s
.
isPostStartHookRegistered
(
genericApiServerHookName
)
{
c
.
SharedInformerFactory
.
Start
(
context
.
StopCh
)
err
:=
s
.
AddPostStartHook
(
genericApiServerHookName
,
func
(
context
PostStartHookContext
)
error
{
return
nil
c
.
SharedInformerFactory
.
Start
(
context
.
StopCh
)
})
return
nil
if
err
!=
nil
{
})
return
nil
,
err
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(
...
@@ -27,6 +27,7 @@ go_library(
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_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/apimachinery/pkg/util/wait:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server/httplog: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/klog:go_default_library",
],
],
)
)
...
...
vendor/k8s.io/apiserver/pkg/server/healthz/healthz.go
View file @
8b33f7f5
...
@@ -28,6 +28,7 @@ import (
...
@@ -28,6 +28,7 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apiserver/pkg/server/httplog"
"k8s.io/apiserver/pkg/server/httplog"
"k8s.io/client-go/informers"
"k8s.io/klog"
"k8s.io/klog"
)
)
...
@@ -80,6 +81,39 @@ func (l *log) Check(_ *http.Request) error {
...
@@ -80,6 +81,39 @@ func (l *log) Check(_ *http.Request) error {
return
fmt
.
Errorf
(
"logging blocked"
)
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.
// NamedCheck returns a healthz checker for the given name and function.
func
NamedCheck
(
name
string
,
check
func
(
r
*
http
.
Request
)
error
)
HealthChecker
{
func
NamedCheck
(
name
string
,
check
func
(
r
*
http
.
Request
)
error
)
HealthChecker
{
return
&
healthzCheck
{
name
,
check
}
return
&
healthzCheck
{
name
,
check
}
...
...
vendor/k8s.io/client-go/pkg/version/base.go
View file @
8b33f7f5
...
@@ -3,8 +3,8 @@ package version
...
@@ -3,8 +3,8 @@ package version
var
(
var
(
gitMajor
=
"1"
gitMajor
=
"1"
gitMinor
=
"16"
gitMinor
=
"16"
gitVersion
=
"v1.16.1
1
-k3s1"
gitVersion
=
"v1.16.1
3
-k3s1"
gitCommit
=
"
a2d85ac363941a5280ccd3a1415e38326c843dbe
"
gitCommit
=
"
0b9525c21107dd05b47060ade21a607549116813
"
gitTreeState
=
"clean"
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
...
@@ -3,8 +3,8 @@ package version
var
(
var
(
gitMajor
=
"1"
gitMajor
=
"1"
gitMinor
=
"16"
gitMinor
=
"16"
gitVersion
=
"v1.16.1
1
-k3s1"
gitVersion
=
"v1.16.1
3
-k3s1"
gitCommit
=
"
a2d85ac363941a5280ccd3a1415e38326c843dbe
"
gitCommit
=
"
0b9525c21107dd05b47060ade21a607549116813
"
gitTreeState
=
"clean"
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
...
@@ -3,8 +3,8 @@ package version
var
(
var
(
gitMajor
=
"1"
gitMajor
=
"1"
gitMinor
=
"16"
gitMinor
=
"16"
gitVersion
=
"v1.16.1
1
-k3s1"
gitVersion
=
"v1.16.1
3
-k3s1"
gitCommit
=
"
a2d85ac363941a5280ccd3a1415e38326c843dbe
"
gitCommit
=
"
0b9525c21107dd05b47060ade21a607549116813
"
gitTreeState
=
"clean"
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 {
...
@@ -4142,7 +4142,7 @@ type PodLogOptions struct {
// If this value is in the future, no logs will be returned.
// If this value is in the future, no logs will be returned.
// Only one of sinceSeconds or sinceTime may be specified.
// Only one of sinceSeconds or sinceTime may be specified.
SinceTime
*
metav1
.
Time
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.
// of log output.
Timestamps
bool
Timestamps
bool
// If set, the number of lines from the end of the logs to show. If not specified,
// 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
...
@@ -53,8 +53,9 @@ func (ds *dockerService) ListContainerStats(ctx context.Context, r *runtimeapi.L
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
if
containerStats
!=
nil
{
stats
=
append
(
stats
,
containerStats
)
stats
=
append
(
stats
,
containerStats
)
}
}
}
return
&
runtimeapi
.
ListContainerStatsResponse
{
Stats
:
stats
},
nil
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
...
@@ -35,7 +35,13 @@ func (ds *dockerService) getContainerStats(containerID string) (*runtimeapi.Cont
hcsshim_container
,
err
:=
hcsshim
.
OpenContainer
(
containerID
)
hcsshim_container
,
err
:=
hcsshim
.
OpenContainer
(
containerID
)
if
err
!=
nil
{
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
()
{
defer
func
()
{
closeErr
:=
hcsshim_container
.
Close
()
closeErr
:=
hcsshim_container
.
Close
()
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/BUILD
View file @
8b33f7f5
...
@@ -66,6 +66,7 @@ go_library(
...
@@ -66,6 +66,7 @@ go_library(
"//staging/src/k8s.io/api/core/v1:go_default_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/api/resource:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1: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/apimachinery/pkg/util/clock:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/util/feature: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",
"//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 (
...
@@ -26,6 +26,7 @@ import (
v1
"k8s.io/api/core/v1"
v1
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/clock"
"k8s.io/apimachinery/pkg/util/clock"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
"k8s.io/client-go/tools/record"
"k8s.io/client-go/tools/record"
...
@@ -90,6 +91,8 @@ type managerImpl struct {
...
@@ -90,6 +91,8 @@ type managerImpl struct {
thresholdNotifiers
[]
ThresholdNotifier
thresholdNotifiers
[]
ThresholdNotifier
// thresholdsLastUpdated is the last time the thresholdNotifiers were updated.
// thresholdsLastUpdated is the last time the thresholdNotifiers were updated.
thresholdsLastUpdated
time
.
Time
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
// ensure it implements the required interface
...
@@ -106,6 +109,7 @@ func NewManager(
...
@@ -106,6 +109,7 @@ func NewManager(
recorder
record
.
EventRecorder
,
recorder
record
.
EventRecorder
,
nodeRef
*
v1
.
ObjectReference
,
nodeRef
*
v1
.
ObjectReference
,
clock
clock
.
Clock
,
clock
clock
.
Clock
,
etcHostsPath
func
(
types
.
UID
)
string
,
)
(
Manager
,
lifecycle
.
PodAdmitHandler
)
{
)
(
Manager
,
lifecycle
.
PodAdmitHandler
)
{
manager
:=
&
managerImpl
{
manager
:=
&
managerImpl
{
clock
:
clock
,
clock
:
clock
,
...
@@ -121,6 +125,7 @@ func NewManager(
...
@@ -121,6 +125,7 @@ func NewManager(
thresholdsFirstObservedAt
:
thresholdsObservedAt
{},
thresholdsFirstObservedAt
:
thresholdsObservedAt
{},
dedicatedImageFs
:
nil
,
dedicatedImageFs
:
nil
,
thresholdNotifiers
:
[]
ThresholdNotifier
{},
thresholdNotifiers
:
[]
ThresholdNotifier
{},
etcHostsPath
:
etcHostsPath
,
}
}
return
manager
,
manager
return
manager
,
manager
}
}
...
@@ -503,7 +508,7 @@ func (m *managerImpl) podEphemeralStorageLimitEviction(podStats statsapi.PodStat
...
@@ -503,7 +508,7 @@ func (m *managerImpl) podEphemeralStorageLimitEviction(podStats statsapi.PodStat
}
else
{
}
else
{
fsStatsSet
=
[]
fsStatsType
{
fsStatsRoot
,
fsStatsLogs
,
fsStatsLocalVolumeSource
}
fsStatsSet
=
[]
fsStatsType
{
fsStatsRoot
,
fsStatsLogs
,
fsStatsLocalVolumeSource
}
}
}
podEphemeralUsage
,
err
:=
podLocalEphemeralStorageUsage
(
podStats
,
pod
,
fsStatsSet
)
podEphemeralUsage
,
err
:=
podLocalEphemeralStorageUsage
(
podStats
,
pod
,
fsStatsSet
,
m
.
etcHostsPath
(
pod
.
UID
)
)
if
err
!=
nil
{
if
err
!=
nil
{
klog
.
Errorf
(
"eviction manager: error getting pod disk usage %v"
,
err
)
klog
.
Errorf
(
"eviction manager: error getting pod disk usage %v"
,
err
)
return
false
return
false
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/helpers.go
View file @
8b33f7f5
...
@@ -18,6 +18,7 @@ package eviction
...
@@ -18,6 +18,7 @@ package eviction
import
(
import
(
"fmt"
"fmt"
"os"
"sort"
"sort"
"strconv"
"strconv"
"strings"
"strings"
...
@@ -415,7 +416,7 @@ func localEphemeralVolumeNames(pod *v1.Pod) []string {
...
@@ -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.
// 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
}
disk
:=
resource
.
Quantity
{
Format
:
resource
.
BinarySI
}
inodes
:=
resource
.
Quantity
{
Format
:
resource
.
DecimalSI
}
inodes
:=
resource
.
Quantity
{
Format
:
resource
.
DecimalSI
}
...
@@ -429,6 +430,12 @@ func podLocalEphemeralStorageUsage(podStats statsapi.PodStats, pod *v1.Pod, stat
...
@@ -429,6 +430,12 @@ func podLocalEphemeralStorageUsage(podStats statsapi.PodStats, pod *v1.Pod, stat
disk
.
Add
(
podLocalVolumeUsageList
[
v1
.
ResourceEphemeralStorage
])
disk
.
Add
(
podLocalVolumeUsageList
[
v1
.
ResourceEphemeralStorage
])
inodes
.
Add
(
podLocalVolumeUsageList
[
resourceInodes
])
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
{
return
v1
.
ResourceList
{
v1
.
ResourceEphemeralStorage
:
disk
,
v1
.
ResourceEphemeralStorage
:
disk
,
resourceInodes
:
inodes
,
resourceInodes
:
inodes
,
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go
View file @
8b33f7f5
...
@@ -831,8 +831,9 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
...
@@ -831,8 +831,9 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
klet
.
backOff
=
flowcontrol
.
NewBackOff
(
backOffPeriod
,
MaxContainerBackOff
)
klet
.
backOff
=
flowcontrol
.
NewBackOff
(
backOffPeriod
,
MaxContainerBackOff
)
klet
.
podKillingCh
=
make
(
chan
*
kubecontainer
.
PodPair
,
podKillingChannelCapacity
)
klet
.
podKillingCh
=
make
(
chan
*
kubecontainer
.
PodPair
,
podKillingChannelCapacity
)
etcHostsPathFunc
:=
func
(
podUID
types
.
UID
)
string
{
return
getEtcHostsPath
(
klet
.
getPodDir
(
podUID
))
}
// setup eviction manager
// 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
.
evictionManager
=
evictionManager
klet
.
admitHandlers
.
AddPodAdmitHandler
(
evictionAdmitHandler
)
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() {
...
@@ -53,7 +53,7 @@ func (kl *Kubelet) syncNetworkUtil() {
klog
.
Errorf
(
"Failed to ensure that %s chain %s exists: %v"
,
utiliptables
.
TableNAT
,
KubeMarkDropChain
,
err
)
klog
.
Errorf
(
"Failed to ensure that %s chain %s exists: %v"
,
utiliptables
.
TableNAT
,
KubeMarkDropChain
,
err
)
return
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
)
klog
.
Errorf
(
"Failed to ensure marking rule for %v: %v"
,
KubeMarkDropChain
,
err
)
return
return
}
}
...
@@ -63,7 +63,7 @@ func (kl *Kubelet) syncNetworkUtil() {
...
@@ -63,7 +63,7 @@ func (kl *Kubelet) syncNetworkUtil() {
}
}
if
_
,
err
:=
kl
.
iptClient
.
EnsureRule
(
utiliptables
.
Append
,
utiliptables
.
TableFilter
,
KubeFirewallChain
,
if
_
,
err
:=
kl
.
iptClient
.
EnsureRule
(
utiliptables
.
Append
,
utiliptables
.
TableFilter
,
KubeFirewallChain
,
"-m"
,
"comment"
,
"--comment"
,
"kubernetes firewall for dropping marked packets"
,
"-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
{
"-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
)
klog
.
Errorf
(
"Failed to ensure rule to drop packet marked by %v in %v chain %v: %v"
,
KubeMarkDropChain
,
utiliptables
.
TableFilter
,
KubeFirewallChain
,
err
)
return
return
...
@@ -103,7 +103,7 @@ func (kl *Kubelet) syncNetworkUtil() {
...
@@ -103,7 +103,7 @@ func (kl *Kubelet) syncNetworkUtil() {
klog
.
Errorf
(
"Failed to ensure that %s chain %s exists: %v"
,
utiliptables
.
TableNAT
,
KubePostroutingChain
,
err
)
klog
.
Errorf
(
"Failed to ensure that %s chain %s exists: %v"
,
utiliptables
.
TableNAT
,
KubePostroutingChain
,
err
)
return
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
)
klog
.
Errorf
(
"Failed to ensure marking rule for %v: %v"
,
KubeMarkMasqChain
,
err
)
return
return
}
}
...
@@ -112,12 +112,26 @@ func (kl *Kubelet) syncNetworkUtil() {
...
@@ -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
)
klog
.
Errorf
(
"Failed to ensure that %s chain %s jumps to %s: %v"
,
utiliptables
.
TableNAT
,
utiliptables
.
ChainPostrouting
,
KubePostroutingChain
,
err
)
return
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
// NB: THIS MUST MATCH the corresponding code in the iptables and ipvs
// modes of kube-proxy
// 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
{
masqRule
:=
[]
string
{
"-m"
,
"comment"
,
"--comment"
,
"kubernetes service traffic requiring SNAT"
,
"-m"
,
"comment"
,
"--comment"
,
"kubernetes service traffic requiring SNAT"
,
"-m"
,
"mark"
,
"--mark"
,
masqueradeMark
,
"-j"
,
"MASQUERADE"
,
"-j"
,
"MASQUERADE"
,
}
}
if
kl
.
iptClient
.
HasRandomFully
()
{
if
kl
.
iptClient
.
HasRandomFully
()
{
...
@@ -135,5 +149,5 @@ func (kl *Kubelet) syncNetworkUtil() {
...
@@ -135,5 +149,5 @@ func (kl *Kubelet) syncNetworkUtil() {
// getIPTablesMark returns the fwmark given the bit
// getIPTablesMark returns the fwmark given the bit
func
getIPTablesMark
(
bit
int
)
string
{
func
getIPTablesMark
(
bit
int
)
string
{
value
:=
1
<<
uint
(
bit
)
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
...
@@ -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
// makeHostsMount makes the mountpoint for the hosts file that the containers
// in a pod are injected with.
// in a pod are injected with.
func
makeHostsMount
(
podDir
,
podIP
,
hostName
,
hostDomainName
string
,
hostAliases
[]
v1
.
HostAlias
,
useHostNetwork
bool
)
(
*
kubecontainer
.
Mount
,
error
)
{
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
{
if
err
:=
ensureHostsFile
(
hostsFilePath
,
podIP
,
hostName
,
hostDomainName
,
hostAliases
,
useHostNetwork
);
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kuberuntime/logs/BUILD
View file @
8b33f7f5
...
@@ -6,6 +6,7 @@ go_library(
...
@@ -6,6 +6,7 @@ go_library(
importpath = "k8s.io/kubernetes/pkg/kubelet/kuberuntime/logs",
importpath = "k8s.io/kubernetes/pkg/kubelet/kuberuntime/logs",
visibility = ["//visibility:public"],
visibility = ["//visibility:public"],
deps = [
deps = [
"//pkg/kubelet/types:go_default_library",
"//pkg/util/tail:go_default_library",
"//pkg/util/tail:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/cri-api/pkg/apis: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 (
...
@@ -36,6 +36,7 @@ import (
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
internalapi
"k8s.io/cri-api/pkg/apis"
internalapi
"k8s.io/cri-api/pkg/apis"
runtimeapi
"k8s.io/cri-api/pkg/apis/runtime/v1alpha2"
runtimeapi
"k8s.io/cri-api/pkg/apis/runtime/v1alpha2"
"k8s.io/kubernetes/pkg/kubelet/types"
"k8s.io/kubernetes/pkg/util/tail"
"k8s.io/kubernetes/pkg/util/tail"
)
)
...
@@ -48,8 +49,10 @@ import (
...
@@ -48,8 +49,10 @@ import (
// TODO(random-liu): Support log rotation.
// TODO(random-liu): Support log rotation.
const
(
const
(
// timeFormat is the time format used in the log.
// timeFormatOut is the format for writing timestamps to output.
timeFormat
=
time
.
RFC3339Nano
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
// stateCheckPeriod is the period to check container state while following
// the container log. Kubelet should not keep following the log when the
// the container log. Kubelet should not keep following the log when the
...
@@ -134,9 +137,9 @@ func parseCRILog(log []byte, msg *logMessage) error {
...
@@ -134,9 +137,9 @@ func parseCRILog(log []byte, msg *logMessage) error {
if
idx
<
0
{
if
idx
<
0
{
return
fmt
.
Errorf
(
"timestamp is not found"
)
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
{
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
// Parse stream type
...
@@ -233,7 +236,7 @@ func (w *logWriter) write(msg *logMessage) error {
...
@@ -233,7 +236,7 @@ func (w *logWriter) write(msg *logMessage) error {
}
}
line
:=
msg
.
log
line
:=
msg
.
log
if
w
.
opts
.
timestamp
{
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
...
)
line
=
append
(
prefix
,
line
...
)
}
}
// If the line is longer than the remaining bytes, cut it.
// 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 (
...
@@ -29,4 +29,9 @@ const (
SystemReservedEnforcementKey
=
"system-reserved"
SystemReservedEnforcementKey
=
"system-reserved"
KubeReservedEnforcementKey
=
"kube-reserved"
KubeReservedEnforcementKey
=
"kube-reserved"
NodeAllocatableNoneKey
=
"none"
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 {
...
@@ -41,10 +41,10 @@ func NewTimestamp() *Timestamp {
return
&
Timestamp
{
time
.
Now
()}
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.
// and converts it to a Timestamp object.
func
ConvertToTimestamp
(
timeString
string
)
*
Timestamp
{
func
ConvertToTimestamp
(
timeString
string
)
*
Timestamp
{
parsed
,
_
:=
time
.
Parse
(
time
.
RFC3339Nano
,
timeString
)
parsed
,
_
:=
time
.
Parse
(
RFC3339NanoLenient
,
timeString
)
return
&
Timestamp
{
parsed
}
return
&
Timestamp
{
parsed
}
}
}
...
@@ -53,10 +53,10 @@ func (t *Timestamp) Get() time.Time {
...
@@ -53,10 +53,10 @@ func (t *Timestamp) Get() time.Time {
return
t
.
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.
// layout.
func
(
t
*
Timestamp
)
GetString
()
string
{
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.
// 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 {
...
@@ -581,6 +581,16 @@ func listWithMoreString(list []string, more bool, count, max int) string {
return
ret
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
// translateTimestampSince returns the elapsed time since timestamp in
// human-readable approximation.
// human-readable approximation.
func
translateTimestampSince
(
timestamp
metav1
.
Time
)
string
{
func
translateTimestampSince
(
timestamp
metav1
.
Time
)
string
{
...
@@ -1447,7 +1457,13 @@ func printEvent(obj *api.Event, options printers.GenerateOptions) ([]metav1beta1
...
@@ -1447,7 +1457,13 @@ func printEvent(obj *api.Event, options printers.GenerateOptions) ([]metav1beta1
}
}
firstTimestamp
:=
translateTimestampSince
(
obj
.
FirstTimestamp
)
firstTimestamp
:=
translateTimestampSince
(
obj
.
FirstTimestamp
)
if
obj
.
FirstTimestamp
.
IsZero
()
{
firstTimestamp
=
translateMicroTimestampSince
(
obj
.
EventTime
)
}
lastTimestamp
:=
translateTimestampSince
(
obj
.
LastTimestamp
)
lastTimestamp
:=
translateTimestampSince
(
obj
.
LastTimestamp
)
if
obj
.
LastTimestamp
.
IsZero
()
{
lastTimestamp
=
firstTimestamp
}
var
target
string
var
target
string
if
len
(
obj
.
InvolvedObject
.
Name
)
>
0
{
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,
...
@@ -276,7 +276,7 @@ func NewProxier(ipt utiliptables.Interface,
// Generate the masquerade mark to use for SNAT rules.
// Generate the masquerade mark to use for SNAT rules.
masqueradeValue
:=
1
<<
uint
(
masqueradeBit
)
masqueradeValue
:=
1
<<
uint
(
masqueradeBit
)
masqueradeMark
:=
fmt
.
Sprintf
(
"%#08x
/%#08x"
,
masqueradeValue
,
masqueradeValue
)
masqueradeMark
:=
fmt
.
Sprintf
(
"%#08x
"
,
masqueradeValue
)
if
len
(
clusterCIDR
)
==
0
{
if
len
(
clusterCIDR
)
==
0
{
klog
.
Warning
(
"clusterCIDR not specified, unable to distinguish between internal and external traffic"
)
klog
.
Warning
(
"clusterCIDR not specified, unable to distinguish between internal and external traffic"
)
...
@@ -780,10 +780,20 @@ func (proxier *Proxier) syncProxyRules() {
...
@@ -780,10 +780,20 @@ func (proxier *Proxier) syncProxyRules() {
// this so that it is easier to flush and change, for example if the mark
// this so that it is easier to flush and change, for example if the mark
// value should ever change.
// value should ever change.
// NB: THIS MUST MATCH the corresponding code in the kubelet
// 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
{
masqRule
:=
[]
string
{
"-A"
,
string
(
kubePostroutingChain
),
"-A"
,
string
(
kubePostroutingChain
),
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes service traffic requiring SNAT"`
,
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes service traffic requiring SNAT"`
,
"-m"
,
"mark"
,
"--mark"
,
proxier
.
masqueradeMark
,
"-j"
,
"MASQUERADE"
,
"-j"
,
"MASQUERADE"
,
}
}
if
proxier
.
iptables
.
HasRandomFully
()
{
if
proxier
.
iptables
.
HasRandomFully
()
{
...
@@ -799,7 +809,7 @@ func (proxier *Proxier) syncProxyRules() {
...
@@ -799,7 +809,7 @@ func (proxier *Proxier) syncProxyRules() {
// value should ever change.
// value should ever change.
writeLine
(
proxier
.
natRules
,
[]
string
{
writeLine
(
proxier
.
natRules
,
[]
string
{
"-A"
,
string
(
KubeMarkMasqChain
),
"-A"
,
string
(
KubeMarkMasqChain
),
"-j"
,
"MARK"
,
"--
set-x
mark"
,
proxier
.
masqueradeMark
,
"-j"
,
"MARK"
,
"--
or-
mark"
,
proxier
.
masqueradeMark
,
}
...
)
}
...
)
// Accumulate NAT chains to keep.
// Accumulate NAT chains to keep.
...
@@ -1372,7 +1382,7 @@ func (proxier *Proxier) syncProxyRules() {
...
@@ -1372,7 +1382,7 @@ func (proxier *Proxier) syncProxyRules() {
writeLine
(
proxier
.
filterRules
,
writeLine
(
proxier
.
filterRules
,
"-A"
,
string
(
kubeForwardChain
),
"-A"
,
string
(
kubeForwardChain
),
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes forwarding rules"`
,
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes forwarding rules"`
,
"-m"
,
"mark"
,
"--mark"
,
proxier
.
masqueradeMark
,
"-m"
,
"mark"
,
"--mark"
,
fmt
.
Sprintf
(
"%s/%s"
,
proxier
.
masqueradeMark
,
proxier
.
masqueradeMark
)
,
"-j"
,
"ACCEPT"
,
"-j"
,
"ACCEPT"
,
)
)
...
...
vendor/k8s.io/kubernetes/pkg/proxy/ipvs/proxier.go
View file @
8b33f7f5
...
@@ -399,7 +399,7 @@ func NewProxier(ipt utiliptables.Interface,
...
@@ -399,7 +399,7 @@ func NewProxier(ipt utiliptables.Interface,
// Generate the masquerade mark to use for SNAT rules.
// Generate the masquerade mark to use for SNAT rules.
masqueradeValue
:=
1
<<
uint
(
masqueradeBit
)
masqueradeValue
:=
1
<<
uint
(
masqueradeBit
)
masqueradeMark
:=
fmt
.
Sprintf
(
"%#08x
/%#08x"
,
masqueradeValue
,
masqueradeValue
)
masqueradeMark
:=
fmt
.
Sprintf
(
"%#08x
"
,
masqueradeValue
)
isIPv6
:=
utilnet
.
IsIPv6
(
nodeIP
)
isIPv6
:=
utilnet
.
IsIPv6
(
nodeIP
)
...
@@ -1621,7 +1621,7 @@ func (proxier *Proxier) writeIptablesRules() {
...
@@ -1621,7 +1621,7 @@ func (proxier *Proxier) writeIptablesRules() {
writeLine
(
proxier
.
filterRules
,
writeLine
(
proxier
.
filterRules
,
"-A"
,
string
(
KubeForwardChain
),
"-A"
,
string
(
KubeForwardChain
),
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes forwarding rules"`
,
"-m"
,
"comment"
,
"--comment"
,
`"kubernetes forwarding rules"`
,
"-m"
,
"mark"
,
"--mark"
,
proxier
.
masqueradeMark
,
"-m"
,
"mark"
,
"--mark"
,
fmt
.
Sprintf
(
"%s/%s"
,
proxier
.
masqueradeMark
,
proxier
.
masqueradeMark
)
,
"-j"
,
"ACCEPT"
,
"-j"
,
"ACCEPT"
,
)
)
...
@@ -1649,6 +1649,39 @@ func (proxier *Proxier) writeIptablesRules() {
...
@@ -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.
// Write the end-of-table markers.
writeLine
(
proxier
.
filterRules
,
"COMMIT"
)
writeLine
(
proxier
.
filterRules
,
"COMMIT"
)
writeLine
(
proxier
.
natRules
,
"COMMIT"
)
writeLine
(
proxier
.
natRules
,
"COMMIT"
)
...
@@ -1707,31 +1740,6 @@ func (proxier *Proxier) createAndLinkeKubeChain() {
...
@@ -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.
// 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
...
@@ -3,8 +3,8 @@ package version
var
(
var
(
gitMajor
=
"1"
gitMajor
=
"1"
gitMinor
=
"16"
gitMinor
=
"16"
gitVersion
=
"v1.16.1
1
-k3s1"
gitVersion
=
"v1.16.1
3
-k3s1"
gitCommit
=
"
a2d85ac363941a5280ccd3a1415e38326c843dbe
"
gitCommit
=
"
0b9525c21107dd05b47060ade21a607549116813
"
gitTreeState
=
"clean"
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 (
...
@@ -23,6 +23,7 @@ import (
"strings"
"strings"
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-07-01/compute"
"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/apimachinery/pkg/types"
"k8s.io/klog"
"k8s.io/klog"
...
@@ -125,7 +126,7 @@ func (as *availabilitySet) DetachDisk(diskName, diskURI string, nodeName types.N
...
@@ -125,7 +126,7 @@ func (as *availabilitySet) DetachDisk(diskName, diskURI string, nodeName types.N
(
disk
.
ManagedDisk
!=
nil
&&
diskURI
!=
""
&&
strings
.
EqualFold
(
*
disk
.
ManagedDisk
.
ID
,
diskURI
))
{
(
disk
.
ManagedDisk
!=
nil
&&
diskURI
!=
""
&&
strings
.
EqualFold
(
*
disk
.
ManagedDisk
.
ID
,
diskURI
))
{
// found the disk
// found the disk
klog
.
V
(
2
)
.
Infof
(
"azureDisk - detach disk: name %q uri %q"
,
diskName
,
diskURI
)
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
bFoundDisk
=
true
break
break
}
}
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_controller_vmss.go
View file @
8b33f7f5
...
@@ -23,6 +23,7 @@ import (
...
@@ -23,6 +23,7 @@ import (
"strings"
"strings"
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-07-01/compute"
"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/apimachinery/pkg/types"
"k8s.io/klog"
"k8s.io/klog"
...
@@ -129,7 +130,7 @@ func (ss *scaleSet) DetachDisk(diskName, diskURI string, nodeName types.NodeName
...
@@ -129,7 +130,7 @@ func (ss *scaleSet) DetachDisk(diskName, diskURI string, nodeName types.NodeName
(
disk
.
ManagedDisk
!=
nil
&&
diskURI
!=
""
&&
strings
.
EqualFold
(
*
disk
.
ManagedDisk
.
ID
,
diskURI
))
{
(
disk
.
ManagedDisk
!=
nil
&&
diskURI
!=
""
&&
strings
.
EqualFold
(
*
disk
.
ManagedDisk
.
ID
,
diskURI
))
{
// found the disk
// found the disk
klog
.
V
(
2
)
.
Infof
(
"azureDisk - detach disk: name %q uri %q"
,
diskName
,
diskURI
)
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
bFoundDisk
=
true
break
break
}
}
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go
View file @
8b33f7f5
...
@@ -102,6 +102,8 @@ const (
...
@@ -102,6 +102,8 @@ const (
serviceTagKey
=
"service"
serviceTagKey
=
"service"
// clusterNameKey is the cluster name key applied for public IP tags.
// clusterNameKey is the cluster name key applied for public IP tags.
clusterNameKey
=
"kubernetes-cluster-name"
clusterNameKey
=
"kubernetes-cluster-name"
defaultLoadBalancerSourceRanges
=
"0.0.0.0/0"
)
)
// GetLoadBalancer returns whether the specified load balancer and its components exist, and
// 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,
...
@@ -1134,6 +1136,7 @@ func (az *Cloud) reconcileSecurityGroup(clusterName string, service *v1.Service,
if
lbIP
!=
nil
{
if
lbIP
!=
nil
{
destinationIPAddress
=
*
lbIP
destinationIPAddress
=
*
lbIP
}
}
if
destinationIPAddress
==
""
{
if
destinationIPAddress
==
""
{
destinationIPAddress
=
"*"
destinationIPAddress
=
"*"
}
}
...
@@ -1143,6 +1146,12 @@ func (az *Cloud) reconcileSecurityGroup(clusterName string, service *v1.Service,
...
@@ -1143,6 +1146,12 @@ func (az *Cloud) reconcileSecurityGroup(clusterName string, service *v1.Service,
return
nil
,
err
return
nil
,
err
}
}
serviceTags
:=
getServiceTags
(
service
)
serviceTags
:=
getServiceTags
(
service
)
if
len
(
serviceTags
)
!=
0
{
if
_
,
ok
:=
sourceRanges
[
defaultLoadBalancerSourceRanges
];
ok
{
delete
(
sourceRanges
,
defaultLoadBalancerSourceRanges
)
}
}
var
sourceAddressPrefixes
[]
string
var
sourceAddressPrefixes
[]
string
if
(
sourceRanges
==
nil
||
servicehelpers
.
IsAllowAll
(
sourceRanges
))
&&
len
(
serviceTags
)
==
0
{
if
(
sourceRanges
==
nil
||
servicehelpers
.
IsAllowAll
(
sourceRanges
))
&&
len
(
serviceTags
)
==
0
{
if
!
requiresInternalLoadBalancer
(
service
)
{
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) {
...
@@ -313,6 +313,13 @@ func (c *Cloud) GetAzureDiskLabels(diskURI string) (map[string]string, error) {
return
nil
,
err
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.
// Get information of the disk.
ctx
,
cancel
:=
getContextWithCancel
()
ctx
,
cancel
:=
getContextWithCancel
()
defer
cancel
()
defer
cancel
()
...
@@ -325,7 +332,7 @@ func (c *Cloud) GetAzureDiskLabels(diskURI string) (map[string]string, error) {
...
@@ -325,7 +332,7 @@ func (c *Cloud) GetAzureDiskLabels(diskURI string) (map[string]string, error) {
// Check whether availability zone is specified.
// Check whether availability zone is specified.
if
disk
.
Zones
==
nil
||
len
(
*
disk
.
Zones
)
==
0
{
if
disk
.
Zones
==
nil
||
len
(
*
disk
.
Zones
)
==
0
{
klog
.
V
(
4
)
.
Infof
(
"Azure disk %q is not zoned"
,
diskName
)
klog
.
V
(
4
)
.
Infof
(
"Azure disk %q is not zoned"
,
diskName
)
return
nil
,
nil
return
labels
,
nil
}
}
zones
:=
*
disk
.
Zones
zones
:=
*
disk
.
Zones
...
@@ -336,9 +343,6 @@ func (c *Cloud) GetAzureDiskLabels(diskURI string) (map[string]string, error) {
...
@@ -336,9 +343,6 @@ func (c *Cloud) GetAzureDiskLabels(diskURI string) (map[string]string, error) {
zone
:=
c
.
makeZone
(
c
.
Location
,
zoneID
)
zone
:=
c
.
makeZone
(
c
.
Location
,
zoneID
)
klog
.
V
(
4
)
.
Infof
(
"Got zone %q for Azure disk %q"
,
zone
,
diskName
)
klog
.
V
(
4
)
.
Infof
(
"Got zone %q for Azure disk %q"
,
zone
,
diskName
)
labels
:=
map
[
string
]
string
{
labels
[
v1
.
LabelZoneFailureDomain
]
=
zone
v1
.
LabelZoneRegion
:
c
.
Location
,
v1
.
LabelZoneFailureDomain
:
zone
,
}
return
labels
,
nil
return
labels
,
nil
}
}
vendor/modules.txt
View file @
8b33f7f5
...
@@ -1130,7 +1130,7 @@ gopkg.in/square/go-jose.v2/jwt
...
@@ -1130,7 +1130,7 @@ gopkg.in/square/go-jose.v2/jwt
gopkg.in/warnings.v0
gopkg.in/warnings.v0
# gopkg.in/yaml.v2 v2.2.8
# gopkg.in/yaml.v2 v2.2.8
gopkg.in/yaml.v2
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/v1
k8s.io/api/admission/v1beta1
k8s.io/api/admission/v1beta1
k8s.io/api/admissionregistration/v1
k8s.io/api/admissionregistration/v1
...
@@ -1172,7 +1172,7 @@ k8s.io/api/settings/v1alpha1
...
@@ -1172,7 +1172,7 @@ k8s.io/api/settings/v1alpha1
k8s.io/api/storage/v1
k8s.io/api/storage/v1
k8s.io/api/storage/v1alpha1
k8s.io/api/storage/v1alpha1
k8s.io/api/storage/v1beta1
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/apihelpers
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install
...
@@ -1220,7 +1220,7 @@ k8s.io/apiextensions-apiserver/pkg/generated/openapi
...
@@ -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
k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor
k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor
k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition
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/equality
k8s.io/apimachinery/pkg/api/errors
k8s.io/apimachinery/pkg/api/errors
k8s.io/apimachinery/pkg/api/meta
k8s.io/apimachinery/pkg/api/meta
...
@@ -1282,7 +1282,7 @@ k8s.io/apimachinery/pkg/watch
...
@@ -1282,7 +1282,7 @@ k8s.io/apimachinery/pkg/watch
k8s.io/apimachinery/third_party/forked/golang/json
k8s.io/apimachinery/third_party/forked/golang/json
k8s.io/apimachinery/third_party/forked/golang/netutil
k8s.io/apimachinery/third_party/forked/golang/netutil
k8s.io/apimachinery/third_party/forked/golang/reflect
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
k8s.io/apiserver/pkg/admission/configuration
k8s.io/apiserver/pkg/admission/configuration
k8s.io/apiserver/pkg/admission/initializer
k8s.io/apiserver/pkg/admission/initializer
...
@@ -1395,7 +1395,7 @@ k8s.io/apiserver/plugin/pkg/authenticator/request/basicauth
...
@@ -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/oidc
k8s.io/apiserver/plugin/pkg/authenticator/token/webhook
k8s.io/apiserver/plugin/pkg/authenticator/token/webhook
k8s.io/apiserver/plugin/pkg/authorizer/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/genericclioptions
k8s.io/cli-runtime/pkg/kustomize
k8s.io/cli-runtime/pkg/kustomize
k8s.io/cli-runtime/pkg/kustomize/k8sdeps
k8s.io/cli-runtime/pkg/kustomize/k8sdeps
...
@@ -1408,7 +1408,7 @@ k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/patch
...
@@ -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/kustomize/k8sdeps/validator
k8s.io/cli-runtime/pkg/printers
k8s.io/cli-runtime/pkg/printers
k8s.io/cli-runtime/pkg/resource
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
k8s.io/client-go/discovery/cached
k8s.io/client-go/discovery/cached
k8s.io/client-go/discovery/cached/disk
k8s.io/client-go/discovery/cached/disk
...
@@ -1594,20 +1594,20 @@ k8s.io/client-go/util/jsonpath
...
@@ -1594,20 +1594,20 @@ k8s.io/client-go/util/jsonpath
k8s.io/client-go/util/keyutil
k8s.io/client-go/util/keyutil
k8s.io/client-go/util/retry
k8s.io/client-go/util/retry
k8s.io/client-go/util/workqueue
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
k8s.io/cloud-provider/node/helpers
k8s.io/cloud-provider/node/helpers
k8s.io/cloud-provider/service/helpers
k8s.io/cloud-provider/service/helpers
k8s.io/cloud-provider/volume
k8s.io/cloud-provider/volume
k8s.io/cloud-provider/volume/errors
k8s.io/cloud-provider/volume/errors
k8s.io/cloud-provider/volume/helpers
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/api
k8s.io/cluster-bootstrap/token/jws
k8s.io/cluster-bootstrap/token/jws
k8s.io/cluster-bootstrap/token/util
k8s.io/cluster-bootstrap/token/util
k8s.io/cluster-bootstrap/util/secrets
k8s.io/cluster-bootstrap/util/secrets
k8s.io/cluster-bootstrap/util/tokens
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/args
k8s.io/code-generator/cmd/client-gen/generators
k8s.io/code-generator/cmd/client-gen/generators
k8s.io/code-generator/cmd/client-gen/generators/fake
k8s.io/code-generator/cmd/client-gen/generators/fake
...
@@ -1622,7 +1622,7 @@ k8s.io/code-generator/cmd/lister-gen/args
...
@@ -1622,7 +1622,7 @@ k8s.io/code-generator/cmd/lister-gen/args
k8s.io/code-generator/cmd/lister-gen/generators
k8s.io/code-generator/cmd/lister-gen/generators
k8s.io/code-generator/pkg/namer
k8s.io/code-generator/pkg/namer
k8s.io/code-generator/pkg/util
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/flag
k8s.io/component-base/cli/globalflag
k8s.io/component-base/cli/globalflag
k8s.io/component-base/config
k8s.io/component-base/config
...
@@ -1635,10 +1635,10 @@ k8s.io/component-base/metrics/legacyregistry
...
@@ -1635,10 +1635,10 @@ k8s.io/component-base/metrics/legacyregistry
k8s.io/component-base/metrics/prometheus/restclient
k8s.io/component-base/metrics/prometheus/restclient
k8s.io/component-base/metrics/prometheus/workqueue
k8s.io/component-base/metrics/prometheus/workqueue
k8s.io/component-base/version
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
k8s.io/cri-api/pkg/apis/runtime/v1alpha2
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
k8s.io/csi-translation-lib/plugins
k8s.io/csi-translation-lib/plugins
# k8s.io/gengo v0.0.0-20190822140433-26a664648505
# k8s.io/gengo v0.0.0-20190822140433-26a664648505
...
@@ -1653,7 +1653,7 @@ k8s.io/gengo/types
...
@@ -1653,7 +1653,7 @@ k8s.io/gengo/types
k8s.io/heapster/metrics/api/v1/types
k8s.io/heapster/metrics/api/v1/types
# k8s.io/klog v1.0.0
# k8s.io/klog v1.0.0
k8s.io/klog
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
k8s.io/kube-aggregator/pkg/apis/apiregistration/install
k8s.io/kube-aggregator/pkg/apis/apiregistration/install
k8s.io/kube-aggregator/pkg/apis/apiregistration/v1
k8s.io/kube-aggregator/pkg/apis/apiregistration/v1
...
@@ -1681,7 +1681,7 @@ k8s.io/kube-aggregator/pkg/controllers/status
...
@@ -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
k8s.io/kube-aggregator/pkg/registry/apiservice/etcd
k8s.io/kube-aggregator/pkg/registry/apiservice/etcd
k8s.io/kube-aggregator/pkg/registry/apiservice/rest
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-controller-manager/config/v1alpha1
# k8s.io/kube-openapi v0.0.0-20200410163147-594e756bea31
# k8s.io/kube-openapi v0.0.0-20200410163147-594e756bea31
k8s.io/kube-openapi/pkg/aggregator
k8s.io/kube-openapi/pkg/aggregator
...
@@ -1692,11 +1692,11 @@ k8s.io/kube-openapi/pkg/schemaconv
...
@@ -1692,11 +1692,11 @@ k8s.io/kube-openapi/pkg/schemaconv
k8s.io/kube-openapi/pkg/util
k8s.io/kube-openapi/pkg/util
k8s.io/kube-openapi/pkg/util/proto
k8s.io/kube-openapi/pkg/util/proto
k8s.io/kube-openapi/pkg/util/proto/validation
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-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/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/apps
k8s.io/kubectl/pkg/cmd
k8s.io/kubectl/pkg/cmd
k8s.io/kubectl/pkg/cmd/annotate
k8s.io/kubectl/pkg/cmd/annotate
...
@@ -1773,9 +1773,9 @@ k8s.io/kubectl/pkg/util/templates
...
@@ -1773,9 +1773,9 @@ k8s.io/kubectl/pkg/util/templates
k8s.io/kubectl/pkg/util/term
k8s.io/kubectl/pkg/util/term
k8s.io/kubectl/pkg/validation
k8s.io/kubectl/pkg/validation
k8s.io/kubectl/pkg/version
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/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
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme
...
@@ -2491,7 +2491,7 @@ k8s.io/kubernetes/third_party/forked/gonum/graph
...
@@ -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/internal/linear
k8s.io/kubernetes/third_party/forked/gonum/graph/simple
k8s.io/kubernetes/third_party/forked/gonum/graph/simple
k8s.io/kubernetes/third_party/forked/gonum/graph/traverse
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/aws
k8s.io/legacy-cloud-providers/azure
k8s.io/legacy-cloud-providers/azure
k8s.io/legacy-cloud-providers/azure/auth
k8s.io/legacy-cloud-providers/azure/auth
...
@@ -2501,7 +2501,7 @@ k8s.io/legacy-cloud-providers/openstack/util/mount
...
@@ -2501,7 +2501,7 @@ k8s.io/legacy-cloud-providers/openstack/util/mount
k8s.io/legacy-cloud-providers/vsphere
k8s.io/legacy-cloud-providers/vsphere
k8s.io/legacy-cloud-providers/vsphere/vclib
k8s.io/legacy-cloud-providers/vsphere/vclib
k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers
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
k8s.io/metrics/pkg/apis/custom_metrics/v1beta1
k8s.io/metrics/pkg/apis/custom_metrics/v1beta1
k8s.io/metrics/pkg/apis/custom_metrics/v1beta2
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