More Related Content
PDF
PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料) PPTX
PDF
PDF
ストリーム処理を支えるキューイングシステムの選び方 PDF
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料) PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー What's hot
PDF
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp PPTX
PDF
分散トレーシング技術について(Open tracingやjaeger) PDF
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp PPTX
PPTX
PDF
PDF
PDF
PDF
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料) PDF
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料) PPTX
PDF
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック PDF
PPTX
PPTX
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料) PDF
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮 PPTX
GitOpsでKubernetesのManifest管理
- 1.
- 2.
Who?
➢ 名前
○ 佐々木真也
➢ 所属
○ AlpacaJapan 株式会社
■ Head of Infrastructure Engineering
2
- 3.
Alpaca Japan
3
3 3
金融機械学習 がテーマのスタートアップ
主な提供サービス プロダクト
❖ 銀行・証券会社・信託銀行を中心に金融機関向けのトレーディングAI技術で多くの実績を保持
「相場予測モデルの構築」のプロジェクト
で協業
「AlpacaSearch for kabu.com」
相互に類似している銘柄のチャートパ
ターンを表示
「AI外貨予測」「AI外貨積立」
指定した外貨の為替の変動を予測し、予
測した日に一定金額を積立可能
主要マーケットの短期予
測をリアルタイムで表示
弊社の大規模データ処
理の技術やディープラー
ニング技術を活用したア
プリケーション
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 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
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 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
※ 他が対応していないということではないです
- 24.
- 25.
- 26.
- 27.
- 28.
- 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)
- 31.
- 32.