Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Policy Engine on Kubernetes

Avatar for ry ry
March 24, 2021

Policy Engine on Kubernetes

Avatar for ry

ry

March 24, 2021
Tweet

More Decks by ry

Other Decks in Technology

Transcript

  1. 自己紹介 Name: ry (@URyo_0213) Skillset: - Storage - Ansible (Ansible

    Tower, AWX) - Python, django - Kubernetes Advertisement - Kubernetes Meetup Novice (月1回ペース) - Kubenews (毎週金曜日 22:00 ~ ) - Kubernetes Internal
  2. PSP(Pod Security Policy) 適用されたPodの仕様を確認し、事前に適用された PSPに記載されているポリシーによって、 Podの作成を制御 するためのものです。 Deprecated in Kuberenets

    version 1.21 Remove the API completely in Kuberentes version 1.25 Kubernetes上でPolicyによる制御を何でやっていけばいいのだろうか。。。
  3. Policy (Mutating) • RFC 6902 JSONPatch • Strategic Merge Patch

    • Mutate Overlay • Mutate Rule Ordering (Cascading)
  4. Policy (Mutating) • RFC 6902 JSONPatch • Strategic Merge Patch

    • Mutate Overlay • Mutate Rule Ordering (Cascading)
  5. Policy (Mutating - overlay -) spec.rulesの下で設定 match: Policyを適用するリソースを指定 - Podを指定

    mutate: 変更する項目を記載 - 特定のlabelをトリガーに、 VaultからSecretを取得するための annotation、及びService Accountを 追加
  6. Policy (Mutating - overlay -) Policy Check Pod用 manifest (指定labelあり)

    Pod作成 (Secret Injected) Pod用 manifest Annotation Service Account 追加 Vault Pod用 manifest Vault InitContainer Vault Sidecar 追加 Annotation確認
  7. Policy (Mutating - overlay -) Vault上に、情報を格納する # vault secrets enable

    -path=vmware kv-v2 # vault kv put vmware/devops/8 username="vmware-devops" password="waiwai" 作成したリソースに対する Policyを設定する # vault policy write vmware - <<EOF path "vmware/data/devops/8" { capabilities = ["read"] } EOF
  8. Policy (Mutating - overlay -) kubernetes上のリソースとの紐づけをする。 # vault write auth/kubernetes/role/vmware

    \ bound_service_account_names=vmware \ bound_service_account_namespaces=default \ policies=vmware \ ttl=24h 上記のコマンドで指定した Service Accountを作成する。 # kubectl create sa vmware