[英]How to find out the kubernetes master server corresponding to a worker node? How to kill residual k8s containers?
[英]Revision v0.0.0: Unknown for go get k8s.io/kubernetes
我該如何解決這個問題?
$ go mod init
$ go get k8s.io/kubernetes@v1.15.5
go: k8s.io/kubernetes@v1.15.5 requires
k8s.io/api@v0.0.0: reading k8s.io/api/go.mod at revision v0.0.0: unknown revision v0.0.0
環境是:
go 1.13
ubuntu 16.04
Go 到版本 go1.16.7 linux/amd64。
出現此問題是因為 kube.netes 的依賴項需要不存在的 k8s.io/api v0.0.0- https://github.com/kube.netes/kube.netes/blob/ddc4ed03657d6c8c009a5d915265d00cadcb634c/go.mod#L155
所以我們必須找到我們需要的特定版本這個依賴列表為我解決了問題。
require github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20210902044020-c6c97a176521
replace (
k8s.io/api => k8s.io/api v0.19.6
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.19.6
k8s.io/apimachinery => k8s.io/apimachinery v0.19.6
k8s.io/apiserver => k8s.io/apiserver v0.19.6
k8s.io/cli-runtime => k8s.io/cli-runtime v0.19.6
k8s.io/client-go => k8s.io/client-go v0.19.6
k8s.io/cloud-provider => k8s.io/cloud-provider v0.19.6
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.19.6
k8s.io/code-generator => k8s.io/code-generator v0.19.6
k8s.io/component-base => k8s.io/component-base v0.19.6
k8s.io/cri-api => k8s.io/cri-api v0.19.6
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.19.6
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.19.6
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.19.6
k8s.io/kube-proxy => k8s.io/kube-proxy v0.19.6
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.19.6
k8s.io/kubectl => k8s.io/kubectl v0.19.6
k8s.io/kubelet => k8s.io/kubelet v0.19.6
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.19.6
k8s.io/metrics => k8s.io/metrics v0.19.6
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.19.6
)
運行以下腳本后我能夠運行它:
#!/bin/bash
VERSION=${1#"v"}
echo $VERSION
if [ -z "$VERSION" ]; then
echo "Please specify the Kubernetes version: e.g."
echo "./download-deps.sh v1.21.0"
exit 1
fi
set -euo pipefail
# Find out all the replaced imports, make a list of them.
MODS=($(
curl -sS "https://raw.githubusercontent.com/kubernetes/kubernetes/release-1.24/go.mod" |
sed -n 's|.*k8s.io/\(.*\) => ./staging/src/k8s.io/.*|k8s.io/\1|p'
))
# Now add those similar replace statements in the local go.mod file, but first find the version that
# the Kubernetes is using for them.
for MOD in "${MODS[@]}"; do
echo "Download $MOD"
V=$(
go mod download -json "${MOD}@kubernetes-${VERSION}" |
sed -n 's|.*"Version": "\(.*\)".*|\1|p'
)
go mod edit "-replace=${MOD}=${MOD}@${V}"
done
go get "k8s.io/kubernetes@v${VERSION}"
go mod download
echo "done"
使用腳本運行並傳遞版本,如“v1.24.0”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.