[Kubernetes #1. 사전작업 (offline, 폐쇄망)]
[Kubernetes #2-2. 사전작업 – 컨테이너 런타임 (offline, 폐쇄망)]
[Kubernetes #2-2. 사전작업 – docker 설정 (offline, 폐쇄망)]
[Kubernetes #3. Kubernetes 바이너리 설치 (offline, 폐쇄망)]
[Kubernetes #4. Kubernetes 클러스터 구축 – image pull (offline, 폐쇄망)]
[Kubernetes #4-2. Kubernetes 클러스터 구축 – 단일 마스터노드 생성 (offline, 폐쇄망)]
[Kubernetes #4-3. Kubernetes 클러스터 구축 – worker node join (offline, 폐쇄망)]
이전 포스트에서 설치한 kubeadm을 위해 클러스터를 생성할 때 필요한 몇 가지 이미지가 존재한다. 폐쇄망 환경에서는 해당 이미지를 가져올 수 없기 때문에 외부 네트워크 연결이 가능한 환경에서 이미지를 가져온(pull) 다음 클러스터를 생성할 곳에 넣어주는(push) 과정이 필요하다.
Image pull
- image pull 외부 네트워크 연결이 가능한 환경에서 수행한다.
kubeadm config images pull [config/images] Pulled k8s.gcr.io/kube-apiserver:v1.23.5 [config/images] Pulled k8s.gcr.io/kube-controller-manager:v1.23.5 [config/images] Pulled k8s.gcr.io/kube-scheduler:v1.23.5 [config/images] Pulled k8s.gcr.io/kube-proxy:v1.23.5 [config/images] Pulled k8s.gcr.io/pause:3.6 [config/images] Pulled k8s.gcr.io/etcd:3.5.1-0 [config/images] Pulled k8s.gcr.io/coredns/coredns:v1.8.6
- 이미지 저장 위의 7개 이미지를 export하여 압축파일로 저장한다. (별도의 결과 메시지는 출력되지 않는다)
docker image save k8s.gcr.io/kube-apiserver:v1.23.5 > kube-apiserver.tgz docker image save k8s.gcr.io/kube-controller-manager:v1.23.5 > kube-controller-manager.tgz docker image save k8s.gcr.io/kube-scheduler:v1.23.5 > kube-scheduler.tgz docker image save k8s.gcr.io/kube-proxy:v1.23.5 > kube-proxy.tgz docker image save k8s.gcr.io/pause:3.6 > pause.tgz docker image save k8s.gcr.io/etcd:3.5.1-0 > etcd.tgz docker image save k8s.gcr.io/coredns/coredns:v1.8.6 > coredns.tgz
이미지 추출이 완료되면 대상 SCP 명령 등을 이용하여 해당 파일들을 복사한다.
Image push
- 대상 서버는 인터넷에 연결이 불가능하므로 복사한 image를 push 해줘야 한다.
docker load < kube-apiserve docker load < kube-controll docker load < kube-schedule docker load < kube-proxy.tg docker load < pause.tgz docker load < etcd.tgz docker load < coredns.tgz Loaded image: k8s.gcr.io/kube-apiserver:v1.23.5 Loaded image: k8s.gcr.io/kube-controller-manager: Loaded image: k8s.gcr.io/kube-scheduler:v1.23.5 Loaded image: k8s.gcr.io/kube-proxy:v1.23.5 Loaded image: k8s.gcr.io/pause:3.6 Loaded image: k8s.gcr.io/etcd:3.5.1-0 Loaded image: k8s.gcr.io/coredns/coredns:v1.8.6
- 확인
docker images |grep k8s.gcr.io k8s.gcr.io/kube-apiserver v1.23.5 3fc1d62d6587 2 weeks ago 135MB k8s.gcr.io/kube-proxy v1.23.5 3c53fa8541f9 2 weeks ago 112MB k8s.gcr.io/kube-controller-manager v1.23.5 b0c9e5e4dbb1 2 weeks ago 125MB k8s.gcr.io/kube-scheduler v1.23.5 884d49d6d8c9 2 weeks ago 53.5MB k8s.gcr.io/etcd 3.5.1-0 25f8c7f3da61 5 months ago 293MB k8s.gcr.io/coredns/coredns v1.8.6 a4ca41631cc7 6 months ago 46.8MB k8s.gcr.io/pause 3.6 6270bb605e12 7 months ago 683kB
모든 클러스터 적용
Master node 및 Worker node로 설정 될 모든서버에서 위 작업을 수행해준다.