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

Policy Engine on Kubernetes

ry
March 24, 2021

Policy Engine on Kubernetes

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