0Pricing
DevOps Bootcamp · 강의

버전 고정과 latest 피하기

재현 가능한 이미지와 종속성 버전을 관리합니다.

버전 고정과 latest 피하기은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

재현 가능성이 중요합니다

내일 다시 배포해도 정확히 같은 결과를 얻을 수 있다면 해당 배포는 재현 가능합니다. 버전을 고정해야 여러 설치와 클러스터에서 이를 보장할 수 있습니다.

latest의 문제

latest 이미지 태그는 계속 변합니다. 몇 시간 간격으로 설치한 두 환경이 서로 다른 코드를 가져올 수 있으므로 버그를 재현하거나 롤백하기가 불가능해집니다.

이미지 태그를 고정하십시오

항상 values.yaml에서 1.27.4처럼 명시적인 이미지 태그를 설정하십시오. YAML이 이를 문자열로 유지하고 숫자로 해석하지 않도록 따옴표로 묶으십시오.

image:
  repository: nginx
  tag: "1.27.4"

다이제스트는 더 강력합니다

다이제스트는 이미지의 정확한 바이트를 고정하므로 태그를 다시 지정한 빌드라도 실행되는 내용을 바꿀 수 없습니다. 완전한 불변성이 필요할 때 사용하십시오.

image: nginx@sha256:abc123...

합리적인 pullPolicy를 설정하십시오

태그를 고정했다면 IfNotPresent를 사용하여 노드가 캐시된 이미지를 재사용하도록 하십시오. 재시작할 때마다 다시 가져와 예상치 못한 상황을 만들 수 있는 Always는 피하십시오.

pullPolicy: IfNotPresent

appVersion과 version을 추적하십시오

Chart.yaml에서 차트가 변경되면 version을 올리고, 앱이 변경되면 appVersion을 올리십시오. 두 값을 정확하게 관리하면 업그레이드와 이력을 쉽게 이해할 수 있습니다.

version: 1.4.0
appVersion: "1.27.4"

의존성 버전을 고정하십시오

Chart.yaml에 각 의존성을 와일드카드가 아닌 특정 버전 범위로 나열하여 하위 차트가 예기치 않게 자동 업그레이드되지 않도록 하십시오.

dependencies:
  - name: postgresql
    version: "15.5.38"
    repository: https://charts.bitnami.com/bitnami

Chart.lock으로 잠그십시오

helm dependency update를 실행하면 정확히 확인된 버전을 기록하는 Chart.lock이 작성됩니다. 팀원들이 동일한 의존성 트리를 빌드할 수 있도록 이 파일을 커밋하십시오.

helm dependency update

부동 버전 범위에 주의하십시오

^15.0.0 같은 범위는 부 버전이 변경되도록 허용합니다. 신뢰하는 라이브러리에는 괜찮지만 안정성이 가장 중요할 때는 버전을 엄격하게 고정하십시오.

버전 변경을 자동화하십시오

Renovate나 Dependabot 같은 도구가 버전 업데이트를 위한 풀 리퀘스트를 열도록 하십시오. 버전은 고정된 상태로 유지하면서도 패치가 지나치게 뒤처지는 일을 방지할 수 있습니다. 🔄

실행될 항목을 확인하십시오

차트를 helm template으로 렌더링하고 출력에서 grep을 실행하여 배포하기 전에 어떤 이미지도 latest로 해석되지 않는지 확인하십시오.

helm template ./mychart | grep image:

빠른 확인

차트의 기본값으로 latest 이미지 태그를 사용하는 것이 좋지 않은 이유는 무엇입니까?

복습

이미지 태그 또는 다이제스트를 고정하고, Chart.lock으로 의존성을 잠그며, latest를 피하는 방법을 배웠습니다. 고정된 버전을 사용하면 모든 배포를 재현할 수 있습니다. ✅

자주 묻는 질문

“버전 고정과 latest 피하기” 강의는 무료인가요?

네 — “버전 고정과 latest 피하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“버전 고정과 latest 피하기”에서 뭘 배우나요?

재현 가능한 이미지와 종속성 버전을 관리합니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“버전 고정과 latest 피하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 표준 레이블과 명명 규칙
  2. 합리적이고 문서화된 기본값
  3. securityContext로 포드 강화하기
  4. 버전 고정과 latest 피하기
← DevOps Bootcamp(으)로 돌아가기