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