원인
도커 이미지가 노드 아키텍처를 지원하지 않아 이미지를 받아올 수 없음
해결 방법
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 |
댓글