kran 文件

kran audit

用法kran audit

符合 app.selector 的 deployment 的 rollout 歷史。

$ kran audit
KUBECONFIG=/home/dana/.kube/prod-east.yml kubectl --context prod-east --namespace storefront rollout history deployment -l app=storefront
deployment.apps/storefront
REVISION  CHANGE-CAUSE
12        <none>
13        <none>
14        <none>

Deployment 的 pod template 每改一次,Kubernetes 就留一個 revision。kran 用 git sha 當 tag,所以每 部署一個新 commit 就多一筆,重複部署同一個 tag 則不會多。

除非有東西寫入 kubernetes.io/change-cause annotation,否則 CHANGE-CAUSE 是空的;krane 和 kran 都不會寫。想讓它有內容,就在 Deployment 模板裡拿 krane 已經給的 sha 自己填:

metadata:
  annotations:
    kubernetes.io/change-cause: "kran deploy <%= current_sha %>"

想細看某一個 revision:

kubectl --context prod-east --namespace storefront \
  rollout history deployment/storefront --revision=13

它不是稽核紀錄

這是 Kubernetes 自己的 rollout 歷史,不是「誰跑了什麼」的紀錄。那種資訊要看 CI log 或叢集的 audit policy。