Weitere ähnliche Inhalte
Ähnlich wie GitOpsでKubernetesのManifest管理 (20)
GitOpsでKubernetesのManifest管理
- 2. Who?
➢ 名前
○ 佐々木 真也
➢ 所属
○ AlpacaJapan 株式会社
■ Head of Infrastructure Engineering
2
- 3. Alpaca Japan
3
3 3
金融 機械学習 がテーマのスタートアップ
主な提供サービス プロダクト
❖ 銀行・証券会社・信託銀行を中心に金融機関向けのトレーディングAI技術で多くの実績を保持
「相場予測モデルの構築」のプロジェクト
で協業
「AlpacaSearch for kabu.com」
相互に類似している銘柄のチャートパ
ターンを表示
「AI外貨予測」「AI外貨積立」
指定した外貨の為替の変動を予測し、予
測した日に一定金額を積立可能
主要マーケットの短期予
測をリアルタイムで表示
弊社の大規模データ処
理の技術やディープラー
ニング技術を活用したア
プリケーション
- 13. CIOps と GitOps
• CIツールがKubernetes APIにアクセスできるようにしないといけない
• セキュリティリスクになる
• クレデンシャルを管理しないといけない
• 境界がない
13
Kubernetes anti-patterns: Let's do GitOps, not CIOps!
https://www.weave.works/blog/kubernetes-anti-patterns-let-s-do-gitops-not-ciops
CIOps
- 14. CIOps と GitOps
• k8sクラスタ内外で境界ができる
• configとcodeのリポジトリを分けることで、お互いの変更に影響を受けない
14
Kubernetes anti-patterns: Let's do GitOps, not CIOps!
https://www.weave.works/blog/kubernetes-anti-patterns-let-s-do-gitops-not-ciops
GitOps
- 22. Argo CDの選定理由
• WebUIがある
• 複数人での運用を考えると結構大事
• CLIもある
• 簡単にできた
• https://github.com/argoproj/argo-cd/blob/master/docs/getting_st
arted.md
22
- 23. Argo CDのよさそうなところ
• 複数フォーマットに対応
• ksonnet applications
• kustomize applications
• helm charts
• Plain directory of YAML/json/jsonnet manifests
• 削除に対応
• 自動同期にも対応
23
※ 他が対応していないということではないです
- 29. 現状の課題(再掲)
• k8s Manifestの軽微な変更でもビルドが走る
→ CIとCDは分離されている
• Gitの権限
• マージ権限がないと都度レビュー、マージ依頼
→ 別レポジトリなので、権限も別管理
• 外部(CircleCI)にk8sの強い権限が必要
→ k8sにアクセスするのはクラスタ内なので不要
• リポジトリのManifest = 現在の設定 を保証できない
→ 差分を検知
• Rollbackしにくい
→ 前のバージョンに戻せばいい
29
- 30. GitOps導入後の課題
• Secretの扱い
• GitHubにはあげれない
• デプロイするのがArgo CDになるので、別インストールが必要なソリュー
ションは使えない
• kubesecとか
• CRD使うSealed-Secretsならできる?
• AWS Secret Managerに保存して、手動で作成することにした
• Branch運用
• 複雑になりそう・・・
30
kubectl create -n stg secret generic myapp-prod-secret
--from-literal=DB_PASSWORD=$(aws secretsmanager get-secret-value --secret-id prod/myapp/db
--region ap-northeast-1 | jq --raw-output '.SecretString' | jq -r .password)