PoC
Before / After — roleARN の解決
Before(Helm ⽂字列構築) After(kro status 参照)
roleARN の
取得⽅法
命名規約 + 環境別 map からARN を⽂字列構築 ${role.status.ackResourceMetadata.arn} status から実値を取得
環境別
Account ID
_helpers.tpl に環境別 map が必要 不要(ACK が status に書き込む)
chart 間の
依存関係
apply を分けて⼿動で順序を管理する必要がある kro が status を監視し⾃動で順序を解決
障害リスク 命名規約の破綻で静かに壊れる 規約への依存がなく破綻リスク消滅
Slide 19
Slide 19 text
PoC
① kubectl apply で kro に instance を投⼊
② kro が IAM Role を先に作成する
③ PIA の作成は保留 — Role の ARN がまだ存在しないため
④ ACK が Role を AWS に作成し、ARN が status に反映される
⑤ kro が ARN の存在を検知し、PIA を作成する
→ リトライに頼らず、確実に正しい順序でリソースが作成される
kro の順序制御 — 同⼀ RGD 内の依存解決
Slide 20
Slide 20 text
PoC
① base chart が IAM Role を作成(RGD-A)
② S3 chart が externalRef で Role の ARN を参照(RGD-B)
③ Role が未作成の場合、kro が⾃動で待機する
④ Role が作成されると、kro が検知して RGD-B の処理を再開
⑤ 複数の chart から同⼀リソースを参照しても競合しない
→ chart 間の依存関係も kro で安全に解決できる
kro の順序制御 — RGD を跨いだ依存解決