inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

대세는 쿠버네티스 (초급~중급편)

쿠버네티스에서의 이미지 관리

해결된 질문

1136

BrownK

작성한 질문수 6

1

쿠버네티스에서의 이미지 관리

강의 잘 보고 있습니다. 감사합니다!

쿠버네티스에서의 node내 이미지 관리 관련 문의 드립니다.

쿠버네티스를 운영하면 분명 여러번 app 이미지를 수정 배포하는 경우가 많을 것입니다.

쿠버네티스 설치 강의에서 docker를 각 node 마다 설치하는 것으로 보아,

결국 이미지를 컨테이너로 구동하는 역할은 각 node의 docker 엔진일텐데, 

각 node마다 다운로드된 이미지들은 어떻게 관리할 수 있나요?

아래와 같은 환경을 가정해보겠습니다.

-node 2개(node1, node2)

1. 초기 이미지 배포

-deployment(ver1)에서 A1이미지 참조

-node1에 pod 스케쥴링되어, node1에서 A1 이미지 다운로드 받아 pod1생성

2. app에 수정이 발생하여, A2이미지 빌드

-deployment(ver1)수정하여 deployment(ver2)에서 A2이미지 참조히도록 변경

-node2에 pod 스케쥴링, node2에서 A2 이미지 다운로드 받아 pod2생성

(이전과 같은 node1에 pod가 스케쥴링되도 동일한 경우라 생각합니다)

이 경우 node에 배포된 이전 이미지, A1은 수동으로 삭제처리를 해줘야 하는지요?

A1이미지는 실행중인 pod의 이미지가 아닌, 이전 버전의 이미지데도 node상에 공간을 차지하여 낭비가 될 것 같습니다.

여러번 deployment를 수정하여 이미지가 계속 수정될 경우, 이전 이미지로 인한 node의 저장공간 사용이 크리라 봅니다.

k8s에서 위와 관련하여 지원하는 기능이 있는지 궁금합니다.

가장 단순하게, node마다 접속하여 docker images/docker rmi 명령으로 일일이 삭제해야 할까요?

kubernetes docker

답변 2

1

BrownK

말씀처럼, 이제 컨테이너 및 운영 환경을 활용해보려 하고 있습니다.

VM위주로 쓰다 보니, 컨테이너 관리 및 운영에 대해서도 궁금한 점이 많네요.

참조해서 더 공부해 보겠습니다.

감사합니다.

0

일프로

안녕하세요. 오랫만에 질문 주셨네요.

질문들이 협업에서 프로젝트 중이신거 같은데 맞나요? ㅎ

운영하시다 보면 해당 문제가 발생하는게 맞고요.

일단 이미지 삭제에 대해서는 운영 정책을 세우고 진행하는 부분이라 운영환경 마다 어떻게 할지 틀려집니다.

여튼 해당 문제에 대해서 고민 할 부분은

첫째로, 도커 이미지를 어떻게 관리하는게 좋은지 알아봐야합니다. 

삭제하면 되지만 삭제 빈도를 줄이기 위해서 사용할때 잘 사용해야되니까요.

해당 내용은 구글링을 해보시면서 컴팩트하게 이미지를 관리하는 방법들을 찾아봐야하고요.

둘째로, 여튼 이미지를 지워야 하는 상황에서 어떻게 효율적으로 지울수 있을까에 대한 부분입니다.

마지막에 질문하신 내용이네요. 아마 일일이 삭제하다가 잘못 삭제 할 수 있는 부분에 대해서 걱정이 되실 것 같아요.

두가지 방법이 있습니다. 

- docker : 일일이 노드마다 접속해야되고요. docker system prune 로 검색해보시면 docker에서 사용하지 않는 도커 오브젝트들에 대해서 안전하게 삭제할 수 있도록 가이드가 있습니다.  

- kubernetes : kubelet 가비지 설정이 있습니다. kubenetes에서 사용되지 않는 이미지나 컨테이너들을 정리하는 기능이고요.  아래 URL 참고하시면 됩니다. 

https://kubernetes.io/ko/docs/concepts/cluster-administration/kubelet-garbage-collection/

강의가 도움이 되셨다면 수강평도 부탁드려요^^

yml 작성하다가 에러 발생해서 문의 드립니다.

0

39

2

설치수업중에 질문드립니다.

1

57

2

기초다지기 설치 문의드립니다.

1

106

4

HPA 부분 Auto Scaler 설치하는 링크가 없습니다!!

1

65

3

클러스터 초기화 및 팟 네트워크 세팅시 문제가 있습니다

1

101

1

환경 구성에 있어서 질문드립니다

1

92

2

configMap 파일생성

1

77

2

dashboard에서 pod 생성이 되지 않습니다.

1

78

2

nodePort 서비스 접근 Client sent an HTTP request to an HTTPS server

1

74

2

대시보드 화면이 달라요 ㅠㅠ

1

60

2

대시보드 접근이 안됩니다!

1

98

2

Ingress실습에 난관이 있습니다

1

67

2

master 노드에서 ssh 로그인 창이 안뜨는 오류

1

82

3

안녕하세요 일프로님 궁금한 거 있습니다

0

50

1

7강 마지막 대시 보드 출력에 관한 문제

1

57

2

Could not resolve host: externalname1; Unknown error

0

60

2

Failed to create pod sandbox

1

90

2

자료실을 못 찾겠습니다 ㅜ ㅡ ㅜ

0

57

2

0/3 nodes are available

1

57

2

Back-off restarting fail~~

1

100

4

쿠버네티스 대시보드 접속 문제

1

89

2

설치관련 질문입니다

1

116

2

raw.githubusercontent.com 에 대한 질문

1

138

2

worker노드 추가시에

1

68

1