본문 바로가기
DevOps/Kubernates

[Kubernetes] Failed to pull image “no matching manifest for linux/arm64/v8 in the manifest list entries

by BenKangKang 2024. 3. 31.

원인

도커 이미지가 노드 아키텍처를 지원하지 않아 이미지를 받아올 수 없음

 

해결 방법

1. 멀티 플랫폼 지원

platforms 에 플랫폼을 명시한다. 다만 플랫폼 별 이미지를 만들기 때문에 시간이 빌드 시간이 오래걸린다.

platforms: linux/amd64, linux/arm64/v8

 

2. node-select 혹은 affinity 설정  (노드 아키텍처 타입이 여러개일 때)

특정 아키텍처 노드에만 Pod이 스케줄링되도록 구성할 수 있다.

 

node-select 예시

apiVersion: apps/v1
kind: Deployment
metadata:
  name: example-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: example
  template:
    metadata:
      labels:
        app: example
    spec:
      nodeSelector:
        kubernetes.io/arch: arm64
      containers:
      - name: example-container
        image: example-image:latest

 

 

어피니티 예시

apiVersion: apps/v1
kind: Deployment
metadata:
  name: example-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: example
  template:
    metadata:
      labels:
        app: example
    spec:
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 1
            preference:
              matchExpressions:
              - key: kubernetes.io/arch
                operator: In
                values:
                - arm64
      containers:
      - name: example-container
        image: example-image:latest

'DevOps > Kubernates' 카테고리의 다른 글

[Kubernetes] Health Check  (0) 2023.07.29
[CKA] 174-185  (0) 2023.04.14
[CKA] 163-173  (0) 2023.04.11
[CKA] 153-162  (0) 2023.04.11
[CKA] 144-152  (0) 2023.04.11

댓글