mirror of https://github.com/k3s-io/k3s
Update to v1.20.15 (#4995)
* Backport https://github.com/k3s-io/k3s/pull/4861 Signed-off-by: Derek Nola <derek.nola@suse.com> * Update to v1.20.15 Signed-off-by: Derek Nola <derek.nola@suse.com>release-1.20 v1.20.15+k3s1
parent
29b4bd8a1d
commit
c7a91e1ccd
|
@ -42,7 +42,7 @@ ENV GO111MODULE off
|
|||
ENV DAPPER_RUN_ARGS --privileged -v k3s-cache:/go/src/github.com/rancher/k3s/.cache -v trivy-cache:/root/.cache/trivy
|
||||
ENV DAPPER_ENV REPO TAG DRONE_TAG IMAGE_NAME SKIP_VALIDATE GCLOUD_AUTH GITHUB_TOKEN GOLANG
|
||||
ENV DAPPER_SOURCE /go/src/github.com/rancher/k3s/
|
||||
ENV DAPPER_OUTPUT ./bin ./dist ./build/out
|
||||
ENV DAPPER_OUTPUT ./bin ./dist ./build/out ./build/static ./pkg/static ./pkg/deploy ./pkg/data
|
||||
ENV DAPPER_DOCKER_SOCKET true
|
||||
ENV HOME ${DAPPER_SOURCE}
|
||||
ENV CROSS true
|
||||
|
|
5
Makefile
5
Makefile
|
@ -22,11 +22,6 @@ release:
|
|||
|
||||
.PHONY: $(TARGETS)
|
||||
|
||||
.PHONY: generate
|
||||
generate: build/data
|
||||
./scripts/download
|
||||
go generate
|
||||
|
||||
build/data:
|
||||
mkdir -p $@
|
||||
|
||||
|
|
74
go.mod
74
go.mod
|
@ -38,34 +38,34 @@ replace (
|
|||
google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63
|
||||
google.golang.org/grpc => google.golang.org/grpc v1.27.1
|
||||
gopkg.in/square/go-jose.v2 => gopkg.in/square/go-jose.v2 v2.2.2
|
||||
k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.14-k3s1
|
||||
k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.14-k3s1
|
||||
k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.14-k3s1
|
||||
k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.14-k3s1
|
||||
k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.14-k3s1
|
||||
k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.14-k3s1
|
||||
k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.14-k3s1
|
||||
k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.14-k3s1
|
||||
k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.14-k3s1
|
||||
k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.14-k3s1
|
||||
k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.14-k3s1
|
||||
k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.14-k3s1
|
||||
k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.14-k3s1
|
||||
k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.14-k3s1
|
||||
k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.14-k3s1
|
||||
k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.14-k3s1
|
||||
k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.14-k3s1
|
||||
k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.14-k3s1
|
||||
k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.14-k3s1
|
||||
k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.14-k3s1
|
||||
k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.20.14-k3s1
|
||||
k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.14-k3s1
|
||||
k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.14-k3s1
|
||||
k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.14-k3s1
|
||||
k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.20.14-k3s1
|
||||
k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.14-k3s1
|
||||
k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.20.14-k3s1
|
||||
k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.20.14-k3s1
|
||||
k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.15-k3s1
|
||||
k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.15-k3s1
|
||||
k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.15-k3s1
|
||||
k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.15-k3s1
|
||||
k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.15-k3s1
|
||||
k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.15-k3s1
|
||||
k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.15-k3s1
|
||||
k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.15-k3s1
|
||||
k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.15-k3s1
|
||||
k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.15-k3s1
|
||||
k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.15-k3s1
|
||||
k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.15-k3s1
|
||||
k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.15-k3s1
|
||||
k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.15-k3s1
|
||||
k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.15-k3s1
|
||||
k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.15-k3s1
|
||||
k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.15-k3s1
|
||||
k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.15-k3s1
|
||||
k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.15-k3s1
|
||||
k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.15-k3s1
|
||||
k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.20.15-k3s1
|
||||
k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.15-k3s1
|
||||
k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.15-k3s1
|
||||
k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.15-k3s1
|
||||
k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.20.15-k3s1
|
||||
k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.15-k3s1
|
||||
k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.20.15-k3s1
|
||||
k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.20.15-k3s1
|
||||
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
|
||||
)
|
||||
|
||||
|
@ -122,17 +122,17 @@ require (
|
|||
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887
|
||||
google.golang.org/grpc v1.33.2
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
k8s.io/api v0.20.14
|
||||
k8s.io/apimachinery v0.20.14
|
||||
k8s.io/apiserver v0.20.14
|
||||
k8s.io/api v0.20.15
|
||||
k8s.io/apimachinery v0.20.15
|
||||
k8s.io/apiserver v0.20.15
|
||||
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
|
||||
k8s.io/cloud-provider v0.20.14
|
||||
k8s.io/component-base v0.20.14
|
||||
k8s.io/controller-manager v0.20.14
|
||||
k8s.io/cri-api v0.20.14
|
||||
k8s.io/cloud-provider v0.20.15
|
||||
k8s.io/component-base v0.20.15
|
||||
k8s.io/controller-manager v0.20.15
|
||||
k8s.io/cri-api v0.20.15
|
||||
k8s.io/klog v1.0.0
|
||||
k8s.io/kubectl v0.20.14
|
||||
k8s.io/kubernetes v1.20.14
|
||||
k8s.io/kubectl v0.20.15
|
||||
k8s.io/kubernetes v1.20.15
|
||||
k8s.io/utils v0.0.0-20201110183641-67b214c5f920
|
||||
sigs.k8s.io/yaml v1.2.0
|
||||
)
|
||||
|
|
98
go.sum
98
go.sum
|
@ -517,55 +517,55 @@ github.com/k3s-io/helm-controller v0.10.8 h1:O7zoqUBp3W+6+nRCUWNiAoQMzOX6xw9IsBD
|
|||
github.com/k3s-io/helm-controller v0.10.8/go.mod h1:nZP8FH3KZrNNUf5r+SwwiMR63HS6lxdHdpHijgPfF74=
|
||||
github.com/k3s-io/kine v0.6.5 h1:gYjkuVUUhuIMthIAQSecb2APSx+JZLFO/GWHbDp2NFI=
|
||||
github.com/k3s-io/kine v0.6.5/go.mod h1:+QI+2dFYzFaFEdhXz3jFcY5HoD0SNXtMI22SxYhD7jk=
|
||||
github.com/k3s-io/kubernetes v1.20.14-k3s1 h1:Zqjkof1/5rcoOAOmTaS0PX+6IGVBIIu31B/1TRX8+Co=
|
||||
github.com/k3s-io/kubernetes v1.20.14-k3s1/go.mod h1:maNGHPCYK0JpF3C4gI2AOAX0OlPCYsseIEd+wewVkuA=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.14-k3s1 h1:8hof13SowyRdAzFFMxtNtwRdmuY6ftCK0adLryV51qM=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.14-k3s1/go.mod h1:xNowlOuuxKUg8x7bAoYYuGvd/oPMqgQSZoKuThrP7LU=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.14-k3s1 h1:vklX1Aee9YFPYYCjkmW5l8nhddSJwNh6X71whq0pu9o=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.14-k3s1/go.mod h1:VJtpimoJzMqv1QycUs4bQJLuvHpE9gDbPsyll2i8YjU=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.14-k3s1 h1:gGaWXkSWl7nlYoAedE4PPpg8KC+n08ZstfP5DKFKrvk=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.14-k3s1/go.mod h1:E3eXKx8mC+y5i+n18YJZ7jNgneHTIPTmbviL3TfSaxc=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.14-k3s1 h1:RJ5gDA7qibSIFXilm4w0R5aKGdC/Mcy4Yb4ruk4347w=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.14-k3s1/go.mod h1:NhDMNNUojgO9nCeJzHX8YjZEAZqW9JMUU/S/ZDBdZ10=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.14-k3s1 h1:JPTU9h8pbPfXUv1cOqRQ6lcEFUD6JoYGXpZFPlse/DU=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.14-k3s1/go.mod h1:9UDRf1+mqtjJUnm2kDAg1HWfpUjysps5gNYMPwwzCOI=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.14-k3s1 h1:cia24tjpjl3y8WzMMjlmhK7smEoVW/ePd81I5YhYh+c=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.14-k3s1/go.mod h1:nzvMdnLq7ywRrzASzLV7EFKhudpng1G38F5XbVixASU=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.14-k3s1 h1:y8loaTSTdjK+UFs8tcD7i8eYOixtdMv45/TXEBAn1+E=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.14-k3s1/go.mod h1:PHIzADQFbVKfpb2K1IxHnNelXeeDHkXOR5Iz1E7OuUk=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.14-k3s1 h1:Le1F6+jeDk3haSp5NxiEwZDZjAazUwRoFv02a7CGShg=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.14-k3s1/go.mod h1:spaI5+5c+1VReIDh7pGGs8ngDc3IoHwmTF8X+fTrP08=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.14-k3s1 h1:JuOPnD8mlivkkkaqcMTpclbrEYJK4/qumIPZbX5hP6U=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.14-k3s1/go.mod h1:y82mrMRkgq5PTj83SpgLtK69lENvKkeqijq4UghEQZ4=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.14-k3s1 h1:gRR1gwfko4Qtdu1QQMlxCGtjocIIzHb8u6Unz5D0iPw=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.14-k3s1/go.mod h1:8GInE8yyzLYFslW12FRnTl/9YkmR9f/GGzCYu8ANHCQ=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.14-k3s1 h1:2JJxYN11cb735ZHj8DcOX3Cp1CCySJDWNrSYOkaMZwo=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.14-k3s1/go.mod h1:pw+OH968rZrCvNZo0Eer3HGuPtKWS0dYbGot9aZ64Y4=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.14-k3s1 h1:W7vdc4HyDabU9hJHDPDoRYaO48uU7u0zNiClFFOKs8U=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.14-k3s1/go.mod h1:9QKLqDYjrnFJFS+rSO1jIH00jff39O2VGuZFkAUZPuM=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.14-k3s1 h1:WkxG9qjwDCW3+lzPAsSXD6i5qQoGz7Cf2AXp4zJnI1c=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.14-k3s1/go.mod h1:sUn/5gFGVe5vHOybvFlICWkiG5KV78bQ3YnW+6K+jJY=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.14-k3s1 h1:modqs8EsS4mxtFtvNmcHHv+Ss2HNkSXzHB1p/2cTIsw=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.14-k3s1/go.mod h1:Zicsc4aFIp+w3G/peRJVi5s2aJEZ9jQfGiG7ozhTXM4=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.14-k3s1 h1:XmBefaNDQgjJVhvQ7BhDJbT1ZNnCyy0p+pmh0SoR9uo=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.14-k3s1/go.mod h1:dGHwWfmVHCCSkGbzm1+KKp448LNQR3HfANuNXH++lnA=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.14-k3s1 h1:ibmKyDd9yQ5zoR9mCYVMDAhydCr+5baF2QkAbqExK1g=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.14-k3s1/go.mod h1:wwy8f7/wn8nH5uZq1RrbJmZoYRoFicaqndxs8vbsALA=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.14-k3s1 h1:SXXocnbWneIHKhrQtQkA4DhtQEFlvQ6/EOTMFpXhN2g=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.14-k3s1/go.mod h1:PWMBqO9xuXWJS8REJ8QWiouJzbiOwVVVT81ZTwYb2Nk=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.14-k3s1 h1:9HDAepkSvBxWLmLH+nQe4PDfeKz33Zl2bLbcBuPzQII=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.14-k3s1/go.mod h1:KGBnJPnA0KkPNM8DFYa7IrEslOHOKUqewL+USqnG6fo=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.14-k3s1 h1:+53nGMhgjcdQxDbdyovSV+rjuuhkH0nhILk6quWUlUw=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.14-k3s1/go.mod h1:d1id22qiXLGVR/9f3KN/9AXoY6kTMj5qeghYUyNtmTI=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.14-k3s1 h1:gY4fLl6aRgn6EavY6Eh7+CNfM771LYULSR2b88d2z64=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.14-k3s1/go.mod h1:avdvE67Z3Ewhy/mUZjo9ek8a5SYYQzVcL/cnYiU7tlo=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.14-k3s1 h1:LjTxFwop9f41oIOAeRgBnZoFrNO8LPQuR+kv6fLE3u0=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.14-k3s1/go.mod h1:Ar3mk1+4I10WJg8SwpYKlK7hzsa9BPd8W0Stzxr90Q0=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.14-k3s1 h1:uMyH94wM0tHDKkF0JtARDmd7PyetvGVPgJyxDSBaSJY=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.14-k3s1/go.mod h1:0Lx45qGvZm3dwobUa3Tib+i4yj3b5CbNRLvbLX4e1bw=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.14-k3s1 h1:UGUSmdIfcAkjUmCp4wkBNRn+oX04nfTZ1paJFK6Z3JI=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.14-k3s1/go.mod h1:mFeSjsWvLj55xUpwltalvolz49izW7J0N5RfoIHrKKY=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.14-k3s1/go.mod h1:TTIyd68fEFbiCLXlHbYPm4bWi8llq4wkE8Sle/aDXUU=
|
||||
github.com/k3s-io/kubernetes v1.20.15-k3s1 h1:VSVpbhH2nep5fMDeORHdD2ZwlAqfq5y1z48Iw3CwFs8=
|
||||
github.com/k3s-io/kubernetes v1.20.15-k3s1/go.mod h1:maNGHPCYK0JpF3C4gI2AOAX0OlPCYsseIEd+wewVkuA=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.15-k3s1 h1:FwD+eB1a9HmdgvyRHfaalUVSokXeatKYugHE5NrQ4Zk=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.15-k3s1/go.mod h1:xNowlOuuxKUg8x7bAoYYuGvd/oPMqgQSZoKuThrP7LU=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.15-k3s1 h1:EdvKZhTMGhqKnDs08huMM2QeNNA4OxbMl9KsyChW41U=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.15-k3s1/go.mod h1:VJtpimoJzMqv1QycUs4bQJLuvHpE9gDbPsyll2i8YjU=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.15-k3s1 h1:qriY6ZfyV3x8I1na+0Uf3dx8+akMwlAVoDh0knRwRMs=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.15-k3s1/go.mod h1:E3eXKx8mC+y5i+n18YJZ7jNgneHTIPTmbviL3TfSaxc=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.15-k3s1 h1:I94MoNL0Qng9gKMkfdt2neWG1j4J7fO3NryZwRaya9c=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.15-k3s1/go.mod h1:NhDMNNUojgO9nCeJzHX8YjZEAZqW9JMUU/S/ZDBdZ10=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.15-k3s1 h1:cVrlL1gweLAwst3UQaOEM0MNr01Fmdjc0+lJUsV4jZU=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.15-k3s1/go.mod h1:9UDRf1+mqtjJUnm2kDAg1HWfpUjysps5gNYMPwwzCOI=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.15-k3s1 h1:l4FWRVyRXCJQZ4gwaWTc8YTxgXmMS/gVPgTmhv9vPVU=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.15-k3s1/go.mod h1:nzvMdnLq7ywRrzASzLV7EFKhudpng1G38F5XbVixASU=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.15-k3s1 h1:H07PSR2jDDFcGnPIFAocMEXbgkddXfqhcQRSrLKACEk=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.15-k3s1/go.mod h1:PHIzADQFbVKfpb2K1IxHnNelXeeDHkXOR5Iz1E7OuUk=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.15-k3s1 h1:Usvpk1/K2UpfONgCqgJHW+8OOLFxubxcU3Il6EV9NNk=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.15-k3s1/go.mod h1:spaI5+5c+1VReIDh7pGGs8ngDc3IoHwmTF8X+fTrP08=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.15-k3s1 h1:wDtiV6Xuh/nkgUaL3tHum8aH9aXx6NkpbK49lojQ3ws=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.15-k3s1/go.mod h1:y82mrMRkgq5PTj83SpgLtK69lENvKkeqijq4UghEQZ4=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.15-k3s1 h1:t4/iwuhWVREJn6idZnduUeLEX06hX7mhrmKKDS7TVzQ=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.15-k3s1/go.mod h1:8GInE8yyzLYFslW12FRnTl/9YkmR9f/GGzCYu8ANHCQ=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.15-k3s1 h1:jB0C1msXrEZYVWlObaiJ+kpUr/WSNsOB+zy32vgzkGs=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.15-k3s1/go.mod h1:pw+OH968rZrCvNZo0Eer3HGuPtKWS0dYbGot9aZ64Y4=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.15-k3s1 h1:IyUrNai5AcUP/aS5Fm2c1RAWReLlJaXLf5t+QpZ2Jz0=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.15-k3s1/go.mod h1:9QKLqDYjrnFJFS+rSO1jIH00jff39O2VGuZFkAUZPuM=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.15-k3s1 h1:rMu3JAxHtS6Q+tBwgpy6PX3VjreC/mLfobajqVhx9PY=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.15-k3s1/go.mod h1:sUn/5gFGVe5vHOybvFlICWkiG5KV78bQ3YnW+6K+jJY=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.15-k3s1 h1:axUNF+xPE2ovO/mNk5e4RPLz1cvXULIPGURY8FZoigw=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.15-k3s1/go.mod h1:Zicsc4aFIp+w3G/peRJVi5s2aJEZ9jQfGiG7ozhTXM4=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.15-k3s1 h1:tQOxQiWoPq6kN4B6G5flcurgOmid0M5QFgsa5M1lIso=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.15-k3s1/go.mod h1:dGHwWfmVHCCSkGbzm1+KKp448LNQR3HfANuNXH++lnA=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.15-k3s1 h1:OH/62M2bkex6F7M2yREGUjMXuv/d9jxrWYz1VFrUkbY=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.15-k3s1/go.mod h1:wwy8f7/wn8nH5uZq1RrbJmZoYRoFicaqndxs8vbsALA=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.15-k3s1 h1:bLzrMoar0mWJcn9R6LOz9yvOSZuA5r3UxfyFcH/MkFI=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.15-k3s1/go.mod h1:PWMBqO9xuXWJS8REJ8QWiouJzbiOwVVVT81ZTwYb2Nk=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.15-k3s1 h1:UGx5aDWcreea6M9Zcod51uWaOkIMO/xcejN9gmgShx4=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.15-k3s1/go.mod h1:KGBnJPnA0KkPNM8DFYa7IrEslOHOKUqewL+USqnG6fo=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.15-k3s1 h1:oXnrQZzxMKUhSjyWM3CSXzn17Hi3TIX0II/EfpZNTM0=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.15-k3s1/go.mod h1:d1id22qiXLGVR/9f3KN/9AXoY6kTMj5qeghYUyNtmTI=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.15-k3s1 h1:ZJf79/TzmzO2DtivT9bYsgPRaEyOk7ZXAl7ZMx1KTpM=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.15-k3s1/go.mod h1:avdvE67Z3Ewhy/mUZjo9ek8a5SYYQzVcL/cnYiU7tlo=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.15-k3s1 h1:6UTGkViw6O+Cdd5TO9Ehfl7OvZw9ZLf0DSXmQQhCc64=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.15-k3s1/go.mod h1:Ar3mk1+4I10WJg8SwpYKlK7hzsa9BPd8W0Stzxr90Q0=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.15-k3s1 h1:/zw8+mXYW2NIPqZPDUTxUHlycgmtWiwTe802beE0TQQ=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.15-k3s1/go.mod h1:0Lx45qGvZm3dwobUa3Tib+i4yj3b5CbNRLvbLX4e1bw=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.15-k3s1 h1:KMGJkotX8WK29g5ImWHan9GYJGCck2EuuAMw785BByE=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.15-k3s1/go.mod h1:mFeSjsWvLj55xUpwltalvolz49izW7J0N5RfoIHrKKY=
|
||||
github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.15-k3s1/go.mod h1:TTIyd68fEFbiCLXlHbYPm4bWi8llq4wkE8Sle/aDXUU=
|
||||
github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw=
|
||||
github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk=
|
||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||
|
|
|
@ -19,6 +19,7 @@ package admission
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"sync"
|
||||
|
||||
auditinternal "k8s.io/apiserver/pkg/apis/audit"
|
||||
"k8s.io/apiserver/pkg/audit"
|
||||
|
@ -27,7 +28,10 @@ import (
|
|||
// auditHandler logs annotations set by other admission handlers
|
||||
type auditHandler struct {
|
||||
Interface
|
||||
ae *auditinternal.Event
|
||||
// TODO: move the lock near the Annotations field of the audit event so it is always protected from concurrent access.
|
||||
// to protect the 'Annotations' map of the audit event from concurrent writes
|
||||
mutex sync.Mutex
|
||||
ae *auditinternal.Event
|
||||
}
|
||||
|
||||
var _ Interface = &auditHandler{}
|
||||
|
@ -42,10 +46,10 @@ func WithAudit(i Interface, ae *auditinternal.Event) Interface {
|
|||
if i == nil {
|
||||
return i
|
||||
}
|
||||
return &auditHandler{i, ae}
|
||||
return &auditHandler{Interface: i, ae: ae}
|
||||
}
|
||||
|
||||
func (handler auditHandler) Admit(ctx context.Context, a Attributes, o ObjectInterfaces) error {
|
||||
func (handler *auditHandler) Admit(ctx context.Context, a Attributes, o ObjectInterfaces) error {
|
||||
if !handler.Interface.Handles(a.GetOperation()) {
|
||||
return nil
|
||||
}
|
||||
|
@ -60,7 +64,7 @@ func (handler auditHandler) Admit(ctx context.Context, a Attributes, o ObjectInt
|
|||
return err
|
||||
}
|
||||
|
||||
func (handler auditHandler) Validate(ctx context.Context, a Attributes, o ObjectInterfaces) error {
|
||||
func (handler *auditHandler) Validate(ctx context.Context, a Attributes, o ObjectInterfaces) error {
|
||||
if !handler.Interface.Handles(a.GetOperation()) {
|
||||
return nil
|
||||
}
|
||||
|
@ -84,10 +88,13 @@ func ensureAnnotationGetter(a Attributes) error {
|
|||
return fmt.Errorf("attributes must be an instance of privateAnnotationsGetter or AnnotationsGetter")
|
||||
}
|
||||
|
||||
func (handler auditHandler) logAnnotations(a Attributes) {
|
||||
func (handler *auditHandler) logAnnotations(a Attributes) {
|
||||
if handler.ae == nil {
|
||||
return
|
||||
}
|
||||
handler.mutex.Lock()
|
||||
defer handler.mutex.Unlock()
|
||||
|
||||
switch a := a.(type) {
|
||||
case privateAnnotationsGetter:
|
||||
for key, value := range a.getAnnotations(handler.ae.Level) {
|
||||
|
|
|
@ -146,7 +146,7 @@ type timeoutWriter interface {
|
|||
}
|
||||
|
||||
func newTimeoutWriter(w http.ResponseWriter) timeoutWriter {
|
||||
base := &baseTimeoutWriter{w: w}
|
||||
base := &baseTimeoutWriter{w: w, handlerHeaders: w.Header().Clone()}
|
||||
|
||||
_, notifiable := w.(http.CloseNotifier)
|
||||
_, hijackable := w.(http.Hijacker)
|
||||
|
@ -166,6 +166,9 @@ func newTimeoutWriter(w http.ResponseWriter) timeoutWriter {
|
|||
type baseTimeoutWriter struct {
|
||||
w http.ResponseWriter
|
||||
|
||||
// headers written by the normal handler
|
||||
handlerHeaders http.Header
|
||||
|
||||
mu sync.Mutex
|
||||
// if the timeout handler has timeout
|
||||
timedOut bool
|
||||
|
@ -183,7 +186,7 @@ func (tw *baseTimeoutWriter) Header() http.Header {
|
|||
return http.Header{}
|
||||
}
|
||||
|
||||
return tw.w.Header()
|
||||
return tw.handlerHeaders
|
||||
}
|
||||
|
||||
func (tw *baseTimeoutWriter) Write(p []byte) (int, error) {
|
||||
|
@ -197,7 +200,10 @@ func (tw *baseTimeoutWriter) Write(p []byte) (int, error) {
|
|||
return 0, http.ErrHijacked
|
||||
}
|
||||
|
||||
tw.wroteHeader = true
|
||||
if !tw.wroteHeader {
|
||||
copyHeaders(tw.w.Header(), tw.handlerHeaders)
|
||||
tw.wroteHeader = true
|
||||
}
|
||||
return tw.w.Write(p)
|
||||
}
|
||||
|
||||
|
@ -222,10 +228,17 @@ func (tw *baseTimeoutWriter) WriteHeader(code int) {
|
|||
return
|
||||
}
|
||||
|
||||
copyHeaders(tw.w.Header(), tw.handlerHeaders)
|
||||
tw.wroteHeader = true
|
||||
tw.w.WriteHeader(code)
|
||||
}
|
||||
|
||||
func copyHeaders(dst, src http.Header) {
|
||||
for k, v := range src {
|
||||
dst[k] = v
|
||||
}
|
||||
}
|
||||
|
||||
func (tw *baseTimeoutWriter) timeout(err *apierrors.StatusError) {
|
||||
tw.mu.Lock()
|
||||
defer tw.mu.Unlock()
|
||||
|
|
|
@ -3,8 +3,8 @@ package version
|
|||
var (
|
||||
gitMajor = "1"
|
||||
gitMinor = "20"
|
||||
gitVersion = "v1.20.14-k3s1"
|
||||
gitCommit = "c9ccd1687e39f0ae9ff460dbeed44d8a528d8f47"
|
||||
gitVersion = "v1.20.15-k3s1"
|
||||
gitCommit = "5312135011ce191fcf1bd1aa6099f2d3d690f57e"
|
||||
gitTreeState = "clean"
|
||||
buildDate = "2021-12-15T21:14:12Z"
|
||||
buildDate = "2022-01-19T23:16:01Z"
|
||||
)
|
||||
|
|
|
@ -149,7 +149,10 @@ func (q *Type) Get() (item interface{}, shutdown bool) {
|
|||
return nil, true
|
||||
}
|
||||
|
||||
item, q.queue = q.queue[0], q.queue[1:]
|
||||
item = q.queue[0]
|
||||
// The underlying array still exists and reference this object, so the object will not be garbage collected.
|
||||
q.queue[0] = nil
|
||||
q.queue = q.queue[1:]
|
||||
|
||||
q.metrics.get(item)
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@ package version
|
|||
var (
|
||||
gitMajor = "1"
|
||||
gitMinor = "20"
|
||||
gitVersion = "v1.20.14-k3s1"
|
||||
gitCommit = "c9ccd1687e39f0ae9ff460dbeed44d8a528d8f47"
|
||||
gitVersion = "v1.20.15-k3s1"
|
||||
gitCommit = "5312135011ce191fcf1bd1aa6099f2d3d690f57e"
|
||||
gitTreeState = "clean"
|
||||
buildDate = "2021-12-15T21:14:12Z"
|
||||
buildDate = "2022-01-19T23:16:01Z"
|
||||
)
|
||||
|
|
|
@ -90,6 +90,9 @@ const (
|
|||
DefaultDummyDevice = "kube-ipvs0"
|
||||
|
||||
connReuseMinSupportedKernelVersion = "4.1"
|
||||
|
||||
// https://github.com/torvalds/linux/commit/35dfb013149f74c2be1ff9c78f14e6a3cd1539d1
|
||||
connReuseFixedKernelVersion = "5.9"
|
||||
)
|
||||
|
||||
// iptablesJumpChain is tables of iptables chains that ipvs proxier used to install iptables or cleanup iptables.
|
||||
|
@ -387,6 +390,9 @@ func NewProxier(ipt utiliptables.Interface,
|
|||
}
|
||||
if kernelVersion.LessThan(version.MustParseGeneric(connReuseMinSupportedKernelVersion)) {
|
||||
klog.Errorf("can't set sysctl %s, kernel version must be at least %s", sysctlConnReuse, connReuseMinSupportedKernelVersion)
|
||||
} else if kernelVersion.AtLeast(version.MustParseGeneric(connReuseFixedKernelVersion)) {
|
||||
// https://github.com/kubernetes/kubernetes/issues/93297
|
||||
klog.V(2).InfoS("Left as-is", "sysctl", sysctlConnReuse)
|
||||
} else {
|
||||
// Set the connection reuse mode
|
||||
if err := utilproxy.EnsureSysctl(sysctl, sysctlConnReuse, 0); err != nil {
|
||||
|
|
|
@ -545,6 +545,7 @@ func (p *PriorityQueue) getUnschedulablePodsWithMatchingAffinityTerm(pod *v1.Pod
|
|||
selector, err := metav1.LabelSelectorAsSelector(term.LabelSelector)
|
||||
if err != nil {
|
||||
klog.Errorf("Error getting label selectors for pod: %v.", up.Name)
|
||||
continue
|
||||
}
|
||||
if util.PodMatchesTermsNamespaceAndSelector(pod, namespaces, selector) {
|
||||
podsToMove = append(podsToMove, pInfo)
|
||||
|
|
|
@ -38,6 +38,9 @@ func GetNamespacesFromPodAffinityTerm(pod *v1.Pod, podAffinityTerm *v1.PodAffini
|
|||
// PodMatchesTermsNamespaceAndSelector returns true if the given <pod>
|
||||
// matches the namespace and selector defined by <affinityPod>`s <term>.
|
||||
func PodMatchesTermsNamespaceAndSelector(pod *v1.Pod, namespaces sets.String, selector labels.Selector) bool {
|
||||
if selector == nil {
|
||||
return false
|
||||
}
|
||||
if !namespaces.Has(pod.Namespace) {
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -98,6 +98,14 @@ const (
|
|||
|
||||
// LabelFailureDomainBetaRegion failure-domain region label
|
||||
LabelFailureDomainBetaRegion = "failure-domain.beta.kubernetes.io/region"
|
||||
|
||||
// LabelNodeExcludeBalancers specifies that the node should not be considered as a target
|
||||
// for external load-balancers which use nodes as a second hop (e.g. many cloud LBs which only
|
||||
// understand nodes). For services that use externalTrafficPolicy=Local, this may mean that
|
||||
// any backends on excluded nodes are not reachable by those external load-balancers.
|
||||
// Implementations of this exclusion may vary based on provider. This label is honored starting
|
||||
// in 1.16 when the ServiceNodeExclusion gate is on.
|
||||
LabelNodeExcludeBalancers = "node.kubernetes.io/exclude-from-external-load-balancers"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -281,6 +289,8 @@ type Cloud struct {
|
|||
nodeResourceGroups map[string]string
|
||||
// unmanagedNodes holds a list of nodes not managed by Azure cloud provider.
|
||||
unmanagedNodes sets.String
|
||||
// excludeLoadBalancerNodes holds a list of nodes that should be excluded from LoadBalancer.
|
||||
excludeLoadBalancerNodes sets.String
|
||||
// nodeInformerSynced is for determining if the informer has synced.
|
||||
nodeInformerSynced cache.InformerSynced
|
||||
|
||||
|
@ -342,10 +352,11 @@ func NewCloudWithoutFeatureGates(configReader io.Reader) (*Cloud, error) {
|
|||
}
|
||||
|
||||
az := &Cloud{
|
||||
nodeZones: map[string]sets.String{},
|
||||
nodeResourceGroups: map[string]string{},
|
||||
unmanagedNodes: sets.NewString(),
|
||||
routeCIDRs: map[string]string{},
|
||||
nodeZones: map[string]sets.String{},
|
||||
nodeResourceGroups: map[string]string{},
|
||||
unmanagedNodes: sets.NewString(),
|
||||
excludeLoadBalancerNodes: sets.NewString(),
|
||||
routeCIDRs: map[string]string{},
|
||||
}
|
||||
|
||||
err = az.InitializeCloudFromConfig(config, false)
|
||||
|
@ -748,8 +759,8 @@ func (az *Cloud) SetInformers(informerFactory informers.SharedInformerFactory) {
|
|||
UpdateFunc: func(prev, obj interface{}) {
|
||||
prevNode := prev.(*v1.Node)
|
||||
newNode := obj.(*v1.Node)
|
||||
if newNode.Labels[LabelFailureDomainBetaZone] ==
|
||||
prevNode.Labels[LabelFailureDomainBetaZone] {
|
||||
if newNode.Labels[v1.LabelTopologyZone] ==
|
||||
prevNode.Labels[v1.LabelTopologyZone] {
|
||||
return
|
||||
}
|
||||
az.updateNodeCaches(prevNode, newNode)
|
||||
|
@ -801,6 +812,12 @@ func (az *Cloud) updateNodeCaches(prevNode, newNode *v1.Node) {
|
|||
managed, ok := prevNode.ObjectMeta.Labels[managedByAzureLabel]
|
||||
if ok && managed == "false" {
|
||||
az.unmanagedNodes.Delete(prevNode.ObjectMeta.Name)
|
||||
az.excludeLoadBalancerNodes.Delete(prevNode.ObjectMeta.Name)
|
||||
}
|
||||
|
||||
// Remove from excludeLoadBalancerNodes cache.
|
||||
if _, hasExcludeBalancerLabel := prevNode.ObjectMeta.Labels[LabelNodeExcludeBalancers]; hasExcludeBalancerLabel {
|
||||
az.excludeLoadBalancerNodes.Delete(prevNode.ObjectMeta.Name)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -824,6 +841,12 @@ func (az *Cloud) updateNodeCaches(prevNode, newNode *v1.Node) {
|
|||
managed, ok := newNode.ObjectMeta.Labels[managedByAzureLabel]
|
||||
if ok && managed == "false" {
|
||||
az.unmanagedNodes.Insert(newNode.ObjectMeta.Name)
|
||||
az.excludeLoadBalancerNodes.Insert(newNode.ObjectMeta.Name)
|
||||
}
|
||||
|
||||
// Add to excludeLoadBalancerNodes cache.
|
||||
if _, hasExcludeBalancerLabel := newNode.ObjectMeta.Labels[LabelNodeExcludeBalancers]; hasExcludeBalancerLabel {
|
||||
az.excludeLoadBalancerNodes.Insert(newNode.ObjectMeta.Name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -913,16 +936,23 @@ func (az *Cloud) GetUnmanagedNodes() (sets.String, error) {
|
|||
return sets.NewString(az.unmanagedNodes.List()...), nil
|
||||
}
|
||||
|
||||
// ShouldNodeExcludedFromLoadBalancer returns true if node is unmanaged or in external resource group.
|
||||
func (az *Cloud) ShouldNodeExcludedFromLoadBalancer(node *v1.Node) bool {
|
||||
labels := node.ObjectMeta.Labels
|
||||
if rg, ok := labels[externalResourceGroupLabel]; ok && !strings.EqualFold(rg, az.ResourceGroup) {
|
||||
return true
|
||||
// ShouldNodeExcludedFromLoadBalancer returns true if node is unmanaged, in external resource group or labeled with "node.kubernetes.io/exclude-from-external-load-balancers".
|
||||
func (az *Cloud) ShouldNodeExcludedFromLoadBalancer(nodeName string) (bool, error) {
|
||||
// Kubelet won't set az.nodeInformerSynced, always return nil.
|
||||
if az.nodeInformerSynced == nil {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
if managed, ok := labels[managedByAzureLabel]; ok && managed == "false" {
|
||||
return true
|
||||
az.nodeCachesLock.RLock()
|
||||
defer az.nodeCachesLock.RUnlock()
|
||||
if !az.nodeInformerSynced() {
|
||||
return false, fmt.Errorf("node informer is not synced when trying to fetch node caches")
|
||||
}
|
||||
|
||||
return false
|
||||
// Return true if the node is in external resource group.
|
||||
if cachedRG, ok := az.nodeResourceGroups[nodeName]; ok && !strings.EqualFold(cachedRG, az.ResourceGroup) {
|
||||
return true, nil
|
||||
}
|
||||
|
||||
return az.excludeLoadBalancerNodes.Has(nodeName), nil
|
||||
}
|
||||
|
|
|
@ -65,12 +65,13 @@ func GetTestCloud(ctrl *gomock.Controller) (az *Cloud) {
|
|||
MaximumLoadBalancerRuleCount: 250,
|
||||
VMType: vmTypeStandard,
|
||||
},
|
||||
nodeZones: map[string]sets.String{},
|
||||
nodeInformerSynced: func() bool { return true },
|
||||
nodeResourceGroups: map[string]string{},
|
||||
unmanagedNodes: sets.NewString(),
|
||||
routeCIDRs: map[string]string{},
|
||||
eventRecorder: &record.FakeRecorder{},
|
||||
nodeZones: map[string]sets.String{},
|
||||
nodeInformerSynced: func() bool { return true },
|
||||
nodeResourceGroups: map[string]string{},
|
||||
unmanagedNodes: sets.NewString(),
|
||||
excludeLoadBalancerNodes: sets.NewString(),
|
||||
routeCIDRs: map[string]string{},
|
||||
eventRecorder: &record.FakeRecorder{},
|
||||
}
|
||||
az.DisksClient = mockdiskclient.NewMockInterface(ctrl)
|
||||
az.InterfacesClient = mockinterfaceclient.NewMockInterface(ctrl)
|
||||
|
|
|
@ -343,7 +343,7 @@ func (az *Cloud) cleanBackendpoolForPrimarySLB(primarySLB *network.LoadBalancer,
|
|||
},
|
||||
}
|
||||
// decouple the backendPool from the node
|
||||
err := az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, backendpoolToBeDeleted)
|
||||
err := az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, backendpoolToBeDeleted, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -1083,15 +1083,6 @@ func (az *Cloud) findFrontendIPConfigOfService(
|
|||
return nil, false, nil
|
||||
}
|
||||
|
||||
func nodeNameInNodes(nodeName string, nodes []*v1.Node) bool {
|
||||
for _, node := range nodes {
|
||||
if strings.EqualFold(nodeName, node.Name) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// reconcileLoadBalancer ensures load balancer exists and the frontend ip config is setup.
|
||||
// This also reconciles the Service's Ports with the LoadBalancer config.
|
||||
// This entails adding rules/probes for expected Ports and removing stale rules/ports.
|
||||
|
@ -1147,7 +1138,12 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service,
|
|||
// would not be in the `nodes` slice. We need to check the nodes that
|
||||
// have been added to the LB's backendpool, find the unwanted ones and
|
||||
// delete them from the pool.
|
||||
if !nodeNameInNodes(nodeName, nodes) {
|
||||
shouldExcludeLoadBalancer, err := az.ShouldNodeExcludedFromLoadBalancer(nodeName)
|
||||
if err != nil {
|
||||
klog.Errorf("ShouldNodeExcludedFromLoadBalancer(%s) failed with error: %v", nodeName, err)
|
||||
return nil, err
|
||||
}
|
||||
if shouldExcludeLoadBalancer {
|
||||
klog.V(2).Infof("reconcileLoadBalancer for service (%s)(%t): lb backendpool - found unwanted node %s, decouple it from the LB", serviceName, wantLb, nodeName)
|
||||
// construct a backendPool that only contains the IP config of the node to be deleted
|
||||
backendIPConfigurationsToBeDeleted = append(backendIPConfigurationsToBeDeleted, network.InterfaceIPConfiguration{ID: to.StringPtr(ipConfID)})
|
||||
|
@ -1164,7 +1160,7 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service,
|
|||
}
|
||||
vmSetName := az.mapLoadBalancerNameToVMSet(lbName, clusterName)
|
||||
// decouple the backendPool from the node
|
||||
err = az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, backendpoolToBeDeleted)
|
||||
err = az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, backendpoolToBeDeleted, false)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -1448,21 +1444,36 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service,
|
|||
// do nothing for availability set
|
||||
lb.BackendAddressPools = nil
|
||||
}
|
||||
err := az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, lb.BackendAddressPools)
|
||||
err := az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, lb.BackendAddressPools, true)
|
||||
if err != nil {
|
||||
klog.Errorf("EnsureBackendPoolDeleted(%s) for service %s failed: %v", lbBackendPoolID, serviceName, err)
|
||||
return nil, err
|
||||
}
|
||||
klog.V(10).Infof("EnsureBackendPoolDeleted(%s) for service %s: end", lbBackendPoolID, serviceName)
|
||||
|
||||
// Remove the LB.
|
||||
klog.V(10).Infof("reconcileLoadBalancer: az.DeleteLB(%q): start", lbName)
|
||||
err = az.DeleteLB(service, lbName)
|
||||
existingLBs, err := az.ListLB(service)
|
||||
if err != nil {
|
||||
klog.V(2).Infof("reconcileLoadBalancer for service(%s) abort backoff: lb(%s) - deleting; no remaining frontendIPConfigurations", serviceName, lbName)
|
||||
klog.Errorf("reconcileLoadBalancer: failed to list load balancer for service %q: %s", serviceName, err.Error())
|
||||
return nil, err
|
||||
}
|
||||
klog.V(10).Infof("az.DeleteLB(%q): end", lbName)
|
||||
|
||||
foundLB := false
|
||||
for _, existingLB := range existingLBs {
|
||||
if strings.EqualFold(lbName, to.String(existingLB.Name)) {
|
||||
foundLB = true
|
||||
break
|
||||
}
|
||||
}
|
||||
// Remove the LB if it exists.
|
||||
if foundLB {
|
||||
klog.V(10).Infof("reconcileLoadBalancer: az.DeleteLB(%q): start", lbName)
|
||||
err = az.DeleteLB(service, lbName)
|
||||
if err != nil {
|
||||
klog.V(2).Infof("reconcileLoadBalancer for service(%s) abort backoff: lb(%s) - deleting; no remaining frontendIPConfigurations", serviceName, lbName)
|
||||
return nil, err
|
||||
}
|
||||
klog.V(10).Infof("az.DeleteLB(%q): end", lbName)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
klog.V(2).Infof("reconcileLoadBalancer: reconcileLoadBalancer for service(%s): lb(%s) - updating", serviceName, lbName)
|
||||
|
@ -1665,7 +1676,8 @@ func (az *Cloud) reconcileLoadBalancerRule(
|
|||
if probeProtocol == "" {
|
||||
probeProtocol = string(network.ProbeProtocolHTTP)
|
||||
}
|
||||
if requestPath == "" {
|
||||
needRequestPath := strings.EqualFold(probeProtocol, string(network.ProbeProtocolHTTP)) || strings.EqualFold(probeProtocol, string(network.ProbeProtocolHTTPS))
|
||||
if requestPath == "" && needRequestPath {
|
||||
requestPath = podPresencePath
|
||||
}
|
||||
|
||||
|
|
|
@ -914,7 +914,12 @@ func (as *availabilitySet) EnsureHostsInPool(service *v1.Service, nodes []*v1.No
|
|||
continue
|
||||
}
|
||||
|
||||
if as.ShouldNodeExcludedFromLoadBalancer(node) {
|
||||
shouldExcludeLoadBalancer, err := as.ShouldNodeExcludedFromLoadBalancer(localNodeName)
|
||||
if err != nil {
|
||||
klog.Errorf("ShouldNodeExcludedFromLoadBalancer(%s) failed with error: %v", localNodeName, err)
|
||||
return err
|
||||
}
|
||||
if shouldExcludeLoadBalancer {
|
||||
klog.V(4).Infof("Excluding unmanaged/external-resource-group node %q", localNodeName)
|
||||
continue
|
||||
}
|
||||
|
@ -939,7 +944,7 @@ func (as *availabilitySet) EnsureHostsInPool(service *v1.Service, nodes []*v1.No
|
|||
}
|
||||
|
||||
// EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified nodes.
|
||||
func (as *availabilitySet) EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool) error {
|
||||
func (as *availabilitySet) EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool, deleteFromVMSet bool) error {
|
||||
// Returns nil if backend address pools already deleted.
|
||||
if backendAddressPools == nil {
|
||||
return nil
|
||||
|
|
|
@ -64,7 +64,7 @@ type VMSet interface {
|
|||
// participating in the specified LoadBalancer Backend Pool.
|
||||
EnsureHostInPool(service *v1.Service, nodeName types.NodeName, backendPoolID string, vmSetName string, isInternal bool) (string, string, string, *compute.VirtualMachineScaleSetVM, error)
|
||||
// EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified nodes.
|
||||
EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool) error
|
||||
EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool, deleteFromVMSet bool) error
|
||||
|
||||
// AttachDisk attaches a vhd to vm. The vhd must exist, can be identified by diskName, diskURI, and lun.
|
||||
AttachDisk(isManagedDisk bool, diskName, diskURI string, nodeName types.NodeName, lun int32, cachingMode compute.CachingTypes, diskEncryptionSetID string, writeAcceleratorEnabled bool) error
|
||||
|
|
|
@ -743,11 +743,16 @@ func (ss *scaleSet) getAgentPoolScaleSets(nodes []*v1.Node) (*[]string, error) {
|
|||
continue
|
||||
}
|
||||
|
||||
if ss.ShouldNodeExcludedFromLoadBalancer(nodes[nx]) {
|
||||
nodeName := nodes[nx].Name
|
||||
shouldExcludeLoadBalancer, err := ss.ShouldNodeExcludedFromLoadBalancer(nodeName)
|
||||
if err != nil {
|
||||
klog.Errorf("ShouldNodeExcludedFromLoadBalancer(%s) failed with error: %v", nodeName, err)
|
||||
return nil, err
|
||||
}
|
||||
if shouldExcludeLoadBalancer {
|
||||
continue
|
||||
}
|
||||
|
||||
nodeName := nodes[nx].Name
|
||||
ssName, _, _, err := ss.getVmssVM(nodeName, azcache.CacheReadTypeDefault)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -1105,7 +1110,12 @@ func (ss *scaleSet) ensureVMSSInPool(service *v1.Service, nodes []*v1.Node, back
|
|||
continue
|
||||
}
|
||||
|
||||
if ss.ShouldNodeExcludedFromLoadBalancer(node) {
|
||||
shouldExcludeLoadBalancer, err := ss.ShouldNodeExcludedFromLoadBalancer(node.Name)
|
||||
if err != nil {
|
||||
klog.Errorf("ShouldNodeExcludedFromLoadBalancer(%s) failed with error: %v", node.Name, err)
|
||||
return err
|
||||
}
|
||||
if shouldExcludeLoadBalancer {
|
||||
klog.V(4).Infof("Excluding unmanaged/external-resource-group node %q", node.Name)
|
||||
continue
|
||||
}
|
||||
|
@ -1248,7 +1258,12 @@ func (ss *scaleSet) EnsureHostsInPool(service *v1.Service, nodes []*v1.Node, bac
|
|||
continue
|
||||
}
|
||||
|
||||
if ss.ShouldNodeExcludedFromLoadBalancer(node) {
|
||||
shouldExcludeLoadBalancer, err := ss.ShouldNodeExcludedFromLoadBalancer(localNodeName)
|
||||
if err != nil {
|
||||
klog.Errorf("ShouldNodeExcludedFromLoadBalancer(%s) failed with error: %v", localNodeName, err)
|
||||
return err
|
||||
}
|
||||
if shouldExcludeLoadBalancer {
|
||||
klog.V(4).Infof("Excluding unmanaged/external-resource-group node %q", localNodeName)
|
||||
continue
|
||||
}
|
||||
|
@ -1569,7 +1584,7 @@ func (ss *scaleSet) ensureBackendPoolDeletedFromVMSS(service *v1.Service, backen
|
|||
}
|
||||
|
||||
// EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified nodes.
|
||||
func (ss *scaleSet) EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool) error {
|
||||
func (ss *scaleSet) EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool, deleteFromVMSet bool) error {
|
||||
// Returns nil if backend address pools already deleted.
|
||||
if backendAddressPools == nil {
|
||||
return nil
|
||||
|
@ -1681,9 +1696,11 @@ func (ss *scaleSet) EnsureBackendPoolDeleted(service *v1.Service, backendPoolID,
|
|||
}
|
||||
|
||||
// Ensure the backendPoolID is also deleted on VMSS itself.
|
||||
err := ss.ensureBackendPoolDeletedFromVMSS(service, backendPoolID, vmSetName, ipConfigurationIDs)
|
||||
if err != nil {
|
||||
return err
|
||||
if deleteFromVMSet {
|
||||
err := ss.ensureBackendPoolDeletedFromVMSS(service, backendPoolID, vmSetName, ipConfigurationIDs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
isOperationSucceeded = true
|
||||
|
|
|
@ -1382,7 +1382,7 @@ gopkg.in/warnings.v0
|
|||
gopkg.in/yaml.v2
|
||||
# gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776
|
||||
gopkg.in/yaml.v3
|
||||
# k8s.io/api v0.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.14-k3s1
|
||||
# k8s.io/api v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.15-k3s1
|
||||
## explicit
|
||||
k8s.io/api/admission/v1
|
||||
k8s.io/api/admission/v1beta1
|
||||
|
@ -1430,7 +1430,7 @@ k8s.io/api/scheduling/v1beta1
|
|||
k8s.io/api/storage/v1
|
||||
k8s.io/api/storage/v1alpha1
|
||||
k8s.io/api/storage/v1beta1
|
||||
# k8s.io/apiextensions-apiserver v0.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.14-k3s1
|
||||
# k8s.io/apiextensions-apiserver v0.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.15-k3s1
|
||||
k8s.io/apiextensions-apiserver/pkg/apihelpers
|
||||
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
|
||||
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install
|
||||
|
@ -1470,7 +1470,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.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.14-k3s1
|
||||
# k8s.io/apimachinery v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.15-k3s1
|
||||
## explicit
|
||||
k8s.io/apimachinery/pkg/api/equality
|
||||
k8s.io/apimachinery/pkg/api/errors
|
||||
|
@ -1534,7 +1534,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.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.14-k3s1
|
||||
# k8s.io/apiserver v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.15-k3s1
|
||||
## explicit
|
||||
k8s.io/apiserver/pkg/admission
|
||||
k8s.io/apiserver/pkg/admission/configuration
|
||||
|
@ -1673,7 +1673,7 @@ k8s.io/apiserver/plugin/pkg/audit/webhook
|
|||
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/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.14-k3s1
|
||||
# k8s.io/cli-runtime v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.15-k3s1
|
||||
k8s.io/cli-runtime/pkg/genericclioptions
|
||||
k8s.io/cli-runtime/pkg/kustomize
|
||||
k8s.io/cli-runtime/pkg/kustomize/k8sdeps
|
||||
|
@ -1686,7 +1686,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/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.14-k3s1
|
||||
# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.15-k3s1
|
||||
## explicit
|
||||
k8s.io/client-go/discovery
|
||||
k8s.io/client-go/discovery/cached
|
||||
|
@ -1933,7 +1933,7 @@ 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.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.14-k3s1
|
||||
# k8s.io/cloud-provider v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.15-k3s1
|
||||
## explicit
|
||||
k8s.io/cloud-provider
|
||||
k8s.io/cloud-provider/api
|
||||
|
@ -1954,13 +1954,13 @@ 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/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.14-k3s1
|
||||
# k8s.io/cluster-bootstrap v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.15-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.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.14-k3s1
|
||||
# k8s.io/code-generator v0.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.15-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
|
||||
|
@ -1975,7 +1975,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.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.14-k3s1
|
||||
# k8s.io/component-base v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.15-k3s1
|
||||
## explicit
|
||||
k8s.io/component-base/cli/flag
|
||||
k8s.io/component-base/cli/globalflag
|
||||
|
@ -2001,13 +2001,13 @@ k8s.io/component-base/metrics/testutil
|
|||
k8s.io/component-base/term
|
||||
k8s.io/component-base/version
|
||||
k8s.io/component-base/version/verflag
|
||||
# k8s.io/component-helpers v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.14-k3s1
|
||||
# k8s.io/component-helpers v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.15-k3s1
|
||||
k8s.io/component-helpers/apimachinery/lease
|
||||
k8s.io/component-helpers/auth/rbac/reconciliation
|
||||
k8s.io/component-helpers/auth/rbac/validation
|
||||
k8s.io/component-helpers/scheduling/corev1
|
||||
k8s.io/component-helpers/scheduling/corev1/nodeaffinity
|
||||
# k8s.io/controller-manager v0.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.14-k3s1
|
||||
# k8s.io/controller-manager v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.15-k3s1
|
||||
## explicit
|
||||
k8s.io/controller-manager/app
|
||||
k8s.io/controller-manager/config
|
||||
|
@ -2017,11 +2017,11 @@ k8s.io/controller-manager/pkg/clientbuilder
|
|||
k8s.io/controller-manager/pkg/features
|
||||
k8s.io/controller-manager/pkg/features/register
|
||||
k8s.io/controller-manager/pkg/informerfactory
|
||||
# k8s.io/cri-api v0.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.14-k3s1
|
||||
# k8s.io/cri-api v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.15-k3s1
|
||||
## explicit
|
||||
k8s.io/cri-api/pkg/apis
|
||||
k8s.io/cri-api/pkg/apis/runtime/v1alpha2
|
||||
# k8s.io/csi-translation-lib v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.14-k3s1
|
||||
# k8s.io/csi-translation-lib v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.15-k3s1
|
||||
k8s.io/csi-translation-lib
|
||||
k8s.io/csi-translation-lib/plugins
|
||||
# k8s.io/gengo v0.0.0-20201113003025-83324d819ded
|
||||
|
@ -2039,7 +2039,7 @@ k8s.io/heapster/metrics/api/v1/types
|
|||
k8s.io/klog
|
||||
# k8s.io/klog/v2 v2.4.0
|
||||
k8s.io/klog/v2
|
||||
# k8s.io/kube-aggregator v0.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.14-k3s1
|
||||
# k8s.io/kube-aggregator v0.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.15-k3s1
|
||||
k8s.io/kube-aggregator/pkg/apis/apiregistration
|
||||
k8s.io/kube-aggregator/pkg/apis/apiregistration/install
|
||||
k8s.io/kube-aggregator/pkg/apis/apiregistration/v1
|
||||
|
@ -2067,7 +2067,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/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.14-k3s1
|
||||
# k8s.io/kube-controller-manager v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.15-k3s1
|
||||
k8s.io/kube-controller-manager/config/v1alpha1
|
||||
# k8s.io/kube-openapi v0.0.0-20211110013926-83f114cd0513
|
||||
k8s.io/kube-openapi/pkg/aggregator
|
||||
|
@ -2083,13 +2083,13 @@ k8s.io/kube-openapi/pkg/validation/spec
|
|||
k8s.io/kube-openapi/pkg/validation/strfmt
|
||||
k8s.io/kube-openapi/pkg/validation/strfmt/bson
|
||||
k8s.io/kube-openapi/pkg/validation/validate
|
||||
# k8s.io/kube-proxy v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.14-k3s1
|
||||
# k8s.io/kube-proxy v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.15-k3s1
|
||||
k8s.io/kube-proxy/config/v1alpha1
|
||||
# k8s.io/kube-scheduler v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.14-k3s1
|
||||
# k8s.io/kube-scheduler v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.15-k3s1
|
||||
k8s.io/kube-scheduler/config/v1
|
||||
k8s.io/kube-scheduler/config/v1beta1
|
||||
k8s.io/kube-scheduler/extender/v1
|
||||
# k8s.io/kubectl v0.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.14-k3s1
|
||||
# k8s.io/kubectl v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.15-k3s1
|
||||
## explicit
|
||||
k8s.io/kubectl/pkg/apps
|
||||
k8s.io/kubectl/pkg/cmd
|
||||
|
@ -2167,7 +2167,7 @@ k8s.io/kubectl/pkg/util/storage
|
|||
k8s.io/kubectl/pkg/util/templates
|
||||
k8s.io/kubectl/pkg/util/term
|
||||
k8s.io/kubectl/pkg/validation
|
||||
# k8s.io/kubelet v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.14-k3s1
|
||||
# k8s.io/kubelet v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.15-k3s1
|
||||
k8s.io/kubelet/config/v1alpha1
|
||||
k8s.io/kubelet/config/v1beta1
|
||||
k8s.io/kubelet/pkg/apis/credentialprovider
|
||||
|
@ -2178,7 +2178,7 @@ k8s.io/kubelet/pkg/apis/pluginregistration/v1
|
|||
k8s.io/kubelet/pkg/apis/podresources/v1
|
||||
k8s.io/kubelet/pkg/apis/podresources/v1alpha1
|
||||
k8s.io/kubelet/pkg/apis/stats/v1alpha1
|
||||
# k8s.io/kubernetes v1.20.14 => github.com/k3s-io/kubernetes v1.20.14-k3s1
|
||||
# k8s.io/kubernetes v1.20.15 => github.com/k3s-io/kubernetes v1.20.15-k3s1
|
||||
## explicit
|
||||
k8s.io/kubernetes/cmd/kube-apiserver/app
|
||||
k8s.io/kubernetes/cmd/kube-apiserver/app/options
|
||||
|
@ -2898,7 +2898,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/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.14-k3s1
|
||||
# k8s.io/legacy-cloud-providers v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.15-k3s1
|
||||
k8s.io/legacy-cloud-providers/aws
|
||||
k8s.io/legacy-cloud-providers/azure
|
||||
k8s.io/legacy-cloud-providers/azure/auth
|
||||
|
@ -2940,7 +2940,7 @@ k8s.io/legacy-cloud-providers/openstack
|
|||
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/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.14-k3s1
|
||||
# k8s.io/metrics v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.15-k3s1
|
||||
k8s.io/metrics/pkg/apis/custom_metrics
|
||||
k8s.io/metrics/pkg/apis/custom_metrics/v1beta1
|
||||
k8s.io/metrics/pkg/apis/custom_metrics/v1beta2
|
||||
|
@ -2956,7 +2956,7 @@ k8s.io/metrics/pkg/client/clientset/versioned/typed/metrics/v1beta1
|
|||
k8s.io/metrics/pkg/client/custom_metrics
|
||||
k8s.io/metrics/pkg/client/custom_metrics/scheme
|
||||
k8s.io/metrics/pkg/client/external_metrics
|
||||
# k8s.io/mount-utils v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.14-k3s1
|
||||
# k8s.io/mount-utils v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.15-k3s1
|
||||
k8s.io/mount-utils
|
||||
# k8s.io/utils v0.0.0-20201110183641-67b214c5f920
|
||||
## explicit
|
||||
|
@ -3044,32 +3044,32 @@ sigs.k8s.io/yaml
|
|||
# google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63
|
||||
# google.golang.org/grpc => google.golang.org/grpc v1.27.1
|
||||
# gopkg.in/square/go-jose.v2 => gopkg.in/square/go-jose.v2 v2.2.2
|
||||
# k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.14-k3s1
|
||||
# k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.14-k3s1
|
||||
# k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.14-k3s1
|
||||
# k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.14-k3s1
|
||||
# k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.14-k3s1
|
||||
# k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.14-k3s1
|
||||
# k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.14-k3s1
|
||||
# k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.14-k3s1
|
||||
# k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.14-k3s1
|
||||
# k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.14-k3s1
|
||||
# k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.14-k3s1
|
||||
# k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.14-k3s1
|
||||
# k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.14-k3s1
|
||||
# k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.14-k3s1
|
||||
# k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.14-k3s1
|
||||
# k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.14-k3s1
|
||||
# k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.14-k3s1
|
||||
# k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.14-k3s1
|
||||
# k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.14-k3s1
|
||||
# k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.14-k3s1
|
||||
# k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.20.14-k3s1
|
||||
# k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.14-k3s1
|
||||
# k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.14-k3s1
|
||||
# k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.14-k3s1
|
||||
# k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.20.14-k3s1
|
||||
# k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.14-k3s1
|
||||
# k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.20.14-k3s1
|
||||
# k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.20.14-k3s1
|
||||
# k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.15-k3s1
|
||||
# k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.15-k3s1
|
||||
# k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.15-k3s1
|
||||
# k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.15-k3s1
|
||||
# k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.15-k3s1
|
||||
# k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.15-k3s1
|
||||
# k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.15-k3s1
|
||||
# k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.15-k3s1
|
||||
# k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.15-k3s1
|
||||
# k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.15-k3s1
|
||||
# k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.15-k3s1
|
||||
# k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.15-k3s1
|
||||
# k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.15-k3s1
|
||||
# k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.15-k3s1
|
||||
# k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.15-k3s1
|
||||
# k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.15-k3s1
|
||||
# k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.15-k3s1
|
||||
# k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.15-k3s1
|
||||
# k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.15-k3s1
|
||||
# k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.15-k3s1
|
||||
# k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.20.15-k3s1
|
||||
# k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.15-k3s1
|
||||
# k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.15-k3s1
|
||||
# k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.15-k3s1
|
||||
# k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.20.15-k3s1
|
||||
# k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.15-k3s1
|
||||
# k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.20.15-k3s1
|
||||
# k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.20.15-k3s1
|
||||
# mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
|
||||
|
|
Loading…
Reference in New Issue