STRICTLY CONFIDENTIAL2019/11/28Alpaca JapanShinya SasakiRancherを使ったKubernetes運用
View Slide
STRICTLY CONFIDENTIALWho?Shinya SasakiHead of Infrastructure Engineeringat AlpacaJapan Co., Ltd.Osaka, Japan2
STRICTLY CONFIDENTIALAlpaca Japan33 3金融 x 機械学習 がテーマのスタートアップ主な提供サービス/プロダクト❖ 銀行・証券会社・信託銀行を中心に 金融機関向けのトレーディングAI技術で多くの実績を保持「相場予測モデルの構築」のプロジェクトで協業「AlpacaSearch for kabu.com」 相互に類似している銘柄のチャートパターンを表示 「AI外貨予測」「AI外貨積立」 指定した外貨の為替の変動を予測し、予測した日に一定金額を積立可能 主要マーケットの短期予測をリアルタイムで表示 弊社の大規模データ処理の技術やディープラーニング技術を活用したアプリケーション
STRICTLY CONFIDENTIALTop-10 Artificial Intelligence Startups in Japanhttps://prtimes.jp/main/html/rd/p/000000016.000015818.html
STRICTLY CONFIDENTIALAlpacaJapanのインフラ基本的にはKubernetes上に構築 (移行中のもありますが)• 予測モデル作成• GPUが大量に必要• バッチ処理• 大量データの集計• CPUが大量に必要• サービス提供• 結果をユーザに提供• Webアプリケーション5オンプレAmazon EKSAmazon EKS
STRICTLY CONFIDENTIALkubernetes運用を始めると出てきた課題61. クラスタの増加2. 利用ユーザの増加3. 利用シーンの増加
STRICTLY CONFIDENTIAL1. クラスタの増加どのレベルでクラスタをつくるか?• マルチテナント• 1つ、もしくは大きなクラスタで運用• 用途ごとにNamespaceを分ける• シングルテナント• 用途ごとに個々にクラスタをつくる• サービスごと• 環境(Production、Staging、Development)ごと7
STRICTLY CONFIDENTIAL1. クラスタの増加どのレベルでクラスタをつくるか?• マルチテナント• 1つ、もしくは大きなクラスタで運用• 用途ごとにNamespaceを分ける• シングルテナント• 用途ごとに個々にクラスタをつくる• サービスごと• 環境(Production、Staging、Development)ごと8
STRICTLY CONFIDENTIAL2. 利用ユーザの増加• 運用負荷の増加• 利用方法の説明• クラスタ追加時のアクセス方法の通知• kubeconfigの配布• アクセス権• ユーザごとに権限を変えたい• Namespaceレベル• リソースレベル• RW/RO9
STRICTLY CONFIDENTIAL3. 利用シーンの増加• 環境の違い• 普段はセットアップされたローカルPC or Macからkubectlを実行• 一時的にローカル環境使えない場合とか• ユーザーごとのKubernetes理解度、利用頻度の違い• このコンテナ実行したいだけなんだけど• このyaml実行したいだけなんだけど10
STRICTLY CONFIDENTIAL
STRICTLY CONFIDENTIAL1. クラスタの増加への対応• 複数のAPI URL、kubeconfig12
STRICTLY CONFIDENTIAL1. クラスタの増加への対応• 複数のAPI URL、kubeconfig13RancherのURLさえわかっていれば
STRICTLY CONFIDENTIAL2. 利用ユーザの増加への対応• 運用負荷の増加• 利用方法の説明• クラスタ追加時のアクセス方法の通知• kubeconfigの配布• アクセス権• ユーザごとに権限を変えたい• Namespaceレベル• リソースレベル• RW/RO14
STRICTLY CONFIDENTIAL2. 利用ユーザの増加への対応• 運用負荷の増加• 利用方法の説明• クラスタ追加時のアクセス方法の通知• kubeconfigの配布• アクセス権• ユーザごとに権限を変えたい• Namespaceレベル• リソースレベル• RW/RO15外部認証に対応クラスタごと、プロジェクトごとにユーザ権限が設定可能
STRICTLY CONFIDENTIAL2. 利用ユーザの増加への対応• 運用負荷の増加• 利用方法の説明• クラスタ追加時のアクセス方法の通知• kubeconfigの配布• アクセス権• ユーザごとに権限を変えたい• Namespaceレベル• リソースレベル• RW/RO16ユーザに権限を付与すれば、アクセス可能なクラスタ /プロジェクトのみ表示
STRICTLY CONFIDENTIAL3. 利用シーンの増加への対応• 環境の違い• 普段はセットアップされたローカルPC or Macからkubectlを実行• 一時的にローカル環境使えない場合とか• ユーザーごとのKubernetes理解度、利用頻度の違い• このコンテナ実行したいだけなんだけど• このyaml実行したいだけなんだけど17
STRICTLY CONFIDENTIAL3. 利用シーンの増加への対応• 環境の違い• 普段はセットアップされたローカルPC or Macからkubectlを実行• 一時的にローカル環境使えない場合とか• ユーザーごとのKubernetes理解度、利用頻度の違い• このコンテナ実行したいだけなんだけど• このyaml実行したいだけなんだけど18ブラウザ上でのkubectl yamlファイルのコピペ GUIでのコンテナ、パラメータ指定複数のデプロイ方法に対応
STRICTLY CONFIDENTIAL現在の構成19
STRICTLY CONFIDENTIALまとめ• Kubernetesを利用が増えてくると出てくる課題• クラスタの増加• 利用ユーザの増加• 利用シーンの増加• Rancherでこれらの課題に対応20
STRICTLY CONFIDENTIALThank you