K8s の初期化で発生する問題と解決策

エラーの情報から、スワップ パーティションを閉じる必要があることがわかります。コマンドは次のとおりです。

swapoff –a

プロンプト情報をファイル (名前は任意で、この記事では K8sDebug.txt) に保存し、awk、grep、cut およびその他のコマンドを使用して必要なイメージ バージョンをフィルターで除外します。コマンドは次のとおりです。

awk -F" " '{print $7}' K8sDebug.txt | grep -v "^$" | grep -v "connection" |grep -v "fatal"| cut -d ":" -f 1,2

得られた結果は次のとおりです。

図で強調表示されているイメージは必要なイメージ バージョンであり、イメージ バージョンに従って国内のソースに置き換える必要があり、上記の強調表示されたバージョン情報を別のファイル (K8sDebug2.sh) に保存し、ソース アドレスをバッチで置き換え、k8s.gcr.io を registry.aliyuncs.com/google_containers に置き換えます。 コマンドは次のとおりです。

sed -i 's/k8s.gcr.io/registry.aliyuncs.com\/google_containers/g'  K8sDebug2.sh

結果は次のとおりです。

置換された結果に従って、対応するイメージをプルします。コマンドは次のとおりです。

for i in `cat K8sDebug2.sh`;do docker pull $i;done

鏡をチェックしてください:

以下に示すように、プルしたイメージを k8s.gcr.io/ 形式に再タグ付けします。スクリプトは K8sDebug3.sh です。

#!/bin/bash
docker tag registry.aliyuncs.com/google_containers/kube-apiserver:v1.15.3 k8s.gcr.io/kube-apiserver:v1.15.3
docker tag registry.aliyuncs.com/google_containers/kube-controller-manager:v1.15.3 k8s.gcr.io/kube-controller-manager:v1.15.3
docker tag registry.aliyuncs.com/google_containers/kube-scheduler:v1.15.3 k8s.gcr.io/kube-scheduler:v1.15.3
docker tag registry.aliyuncs.com/google_containers/kube-proxy:v1.15.3 k8s.gcr.io/kube-proxy:v1.15.3
docker tag registry.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag registry.aliyuncs.com/google_containers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
docker tag registry.aliyuncs.com/google_containers/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1

 そして、registry.aliyuncs.com/google_containers/* シリーズのイメージを削除します。コマンドは次のとおりです。

for i in `cat K8sDebug2.sh`;do docker rmi $i;done

 

 コマンドを再実行します。

 kubeadm init --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=NumCPU

 

おすすめ

転載: blog.csdn.net/IT_dreamer1993/article/details/101676863