-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.yml
More file actions
50 lines (45 loc) · 1.78 KB
/
Copy pathmain.yml
File metadata and controls
50 lines (45 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# ============================================================
# V3 K8S Ansible — ECR Credential Provider (kubelet 플러그인)
# Branch: feat/v3-k8s-iac
# ============================================================
# kubelet이 IAM role로 ECR 인증 토큰을 자동 갱신하도록 설정.
# imagePullSecrets 불필요, 토큰 만료 걱정 없음.
- name: Download ecr-credential-provider binary
get_url:
url: "https://artifacts.k8s.io/binaries/cloud-provider-aws/v{{ ecr_credential_provider_version }}/linux/arm64/ecr-credential-provider-linux-arm64"
dest: /usr/local/bin/ecr-credential-provider
mode: "0755"
owner: root
group: root
- name: Create credential provider config directory
file:
path: /etc/kubernetes
state: directory
mode: "0755"
- name: Write credential provider config
copy:
dest: /etc/kubernetes/ecr-credential-provider-config.yaml
mode: "0644"
content: |
apiVersion: kubelet.config.k8s.io/v1
kind: CredentialProviderConfig
providers:
- name: ecr-credential-provider
matchImages:
- "*.dkr.ecr.*.amazonaws.com"
- "*.dkr.ecr.*.amazonaws.com.cn"
- "*.dkr.ecr-fips.*.amazonaws.com"
defaultCacheDuration: "12h"
apiVersion: credentialprovider.kubelet.k8s.io/v1
- name: Configure kubelet extra args for credential provider
copy:
dest: /etc/default/kubelet
mode: "0644"
content: |
KUBELET_EXTRA_ARGS=--image-credential-provider-config=/etc/kubernetes/ecr-credential-provider-config.yaml --image-credential-provider-bin-dir=/usr/local/bin
notify: restart kubelet
- name: Verify ecr-credential-provider binary
command: /usr/local/bin/ecr-credential-provider --version
register: ecp_version
changed_when: false
failed_when: false