SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Infra: Kubernetes and GKE, Network
荒川 裕紀 aka KUMA
自己紹介
荒川 裕紀
@kumakumakkk
エンジニア
新規事業開発、BPR、海外渉外などを担当
bq_sushi #2, gcpja night #31,
OpenStack Summit 2015
などで発表
Golang/nginx/h2o/Redis/MySQL
zsh/Ansible/Spinnaker/Ubuntu/Alpine
fastly/k8s/GCP/AWS
Cisco/Aruba/Ubiquiti Networks
とかを使っている
!?
66 Sessions!
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
参考にしたセッション
GKE, Kubernetes Sessions:
ABCs of Google Container Engine: tips and best practices (Google Cloud Next '17)
Kubernetes and Google Container Engine (Google Cloud Next '17)
Globally scalable microservices with Container Engine & Cloud Load Balancing (Google Cloud Next ‘17)
Deciding between Compute Engine, Container Engine, App Engine and more (Google Cloud Next '17)
Network Sessions:
Deciding between Compute Engine, Container Engine, App Engine and more (Google Cloud Next '17)
A cloud networking blueprint for securing your workloads (Google Cloud Next '17)
Agenda
● どの環境を選ぶべきか?
GCE, GKE, AppEngine, Cloud Function
● Kubernetesとは
● What’s new in Kubernetes 1.6
● GCPとオンプレミス環境の接続
Proprietary + Confidential
どの環境を選ぶべきか
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
4つの環境
Compute Engine Container Engine App Engine Cloud Function
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Compute Engine
いわゆるVM
フレキシブルなスペックの設定
 CPU, GPU, RAM, Disk(HDD/SSD)
使えば使うほど料金割引、 Preemptable VM、分単位課金
ライブマイグレーション
現状のオンプレにあるシステムをそのままクラウドに持っていきたい
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Container Engine
フルマネージドなKubernetes
 ノード
 Kubernetes自体のアップデート
 クラスターのオートスケーリング
論理的なインフラ志向
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
使いたい場面と制約
使いたい場面 制約
アプリケーションをいろいろな環境 /IaaSで
動かしたい場合
コンテナの利点を最大限活用したい場合
Dev, Ops, セキュリティチームの円滑なコ
ミュニケーションが可能な場合
CI/CDを積極的に行いたい場合
HTTP以外のプロトコル、低レイヤのネット
ワークまで手を出したい場合
コンテナを使わなければいけない
Kubernetes/コンテナを使わないといけない
ので、設計に制約がある
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
App Engine
App Engineで動くようにアプリケーションを作成すれば、オペレーションをほぼすべて肩代わ
りしてくれる環境
 コーディングに集中できる
App Engine Flexible
 コンテナをフルマネージドで運用
 SSHでデバッグできる
現状 1000億リクエスト/日 をさばいている
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
使いたい場面と制約
使いたい場面 制約
HTTP(S)でリクエスト、リスポンスを行うアプ
リケーションの場合
ステートレスなアプリケーションを運用した
い場合
トラフィックが多いウェブサイトを運用する
場合
AppEngine Standard
 Python, Java, PHP, Goで実装
 Binary Extensionは使えない
 設計、実装で制約がある
AppEngine Flexible
 コンテナを使わなければいけない
 スケールに合わせて ComputeEngineが 
立ち上がる
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Cloud Function
サーバーレスでイベントドリブンな環境で機能を提供
GCPのクラウドサービスをトリガにして実行
 Cloud Pub/Sub, Cloud Storage
実行した回数だけ料金がかかる
Node.jsのランタイムを使用
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
使いたい場面と制約
使いたい場面 制約
サーバーレスで運用したい
GCPのサービスのイベントをトリガにして何
かを処理したい
HTTPのAPIを提供したい
Node.js(Javascript)のみに対応
イベントドリブンでなければいけない
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
環境を決める要素
チーム、組織の性質
技術的な必須項目
抽象化したいレイヤ
Proprietary + Confidential
Kubernetesとは
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Kubernetes
コンテナクラスターを管理
複数のクラウドベンダー、オンプレミス環境をサポート
複数のコンテナランタイムをサポート
オープンソース
GOで実装
VMではなく、アプリケーションを管理する
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Kubernetes
スケジューリング: どこでコンテナが動くか
生存管理: コンテナを常に動かす
スケーリング: コンテナを増やしたり部屋したりする
サービスディスカバリ : コンテナがどこで動いているか管理
ロードバランシング: 複数コンテナ間の通信
ストレージ: コンテナがデータを保存できる場所を確保
ロギング・モニタリング : コンテナで何が起こっているかを管理
デバッグ・内部検査: コンテナにアタッチ
認証と認可: ユーザの権限を管理
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Kubernetesの要素
Pod: 1つ以上のコンテナの集合体。同じ localhost上にあり、必ず同じように
   スケジューリングされる
Doployment: Podが何個必要かを定義 (ReplicaSet)し、定義通りにPodが動き、また定義     
が変更されたらその変更に従って処理を行う
Service: アプリケーション(Pod)にアクセスするエンドポイントの管理
Node: Podを動かす計算機。kubeletによって管理される
Cluster: Nodeの集合体。Kubernetes Masterによって管理される
Namespace: Clusterを仮想的に分割する
Namespace
Deployment(ReplicaSet)
Pod
webserver
App
Pod
webserver
App
19.168.1.1:80
Service
Pod
webserver
App
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Demo
Proprietary + Confidential
Kubernetes 1.6 and GKE
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Scale
kubectl autoscale deployment [NAME] --min=3 --max=10
5000ノード、150,000 Pods対応可能に
水平Podスケーリング
クラスターオートスケーリング
gcloud container clusters update [NAME]
--enable-autoscaling --min-nodes=3 --max-nodes=10
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Cluster Federation
kubefed
Federated Control plane
GCP オンプレ AWS
asia-northeast-1a
us-east1-b
大手町 sa-east-1
Cross cluster service
discovery
Cluster healthcheck Federated API
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Multi-zone Cluster
gcloud container clusters create [NAME] --num-nodes=3
--zone asia-northeast1-a
--additional-zones=asia-northeast1-b, asia-northeast1-c
ゾーンをまたいでクラスターを構築することにより
ゾーン単位の障害を回避
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Node Affinity/Anti-Affinity
apiVersion: v1
kind: Pod
metadata:
name: with-node-affinity
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: failure-domain.beta.kubernetes.io/zone
operator: In
values:
- asia-northeast1-a
- asia-northeast1-b
containers:
- name: with-node-affinity
image: gcr.io/google_containers/pause:2.0
どんなノード上でポッドを作成するか /しないかを指定
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
And more...
Role-based access control(RBAC)
Taints
Tolerations
Dynamic Storage Provisioning
DemonSet updates
CRI
Per Pod Eviction
GPU support (with Docker CRI)
etc...
Proprietary + Confidential
ネットワーク
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
XPN (Cross Project Network)
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Private/Carrier Interconnect
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
And more...
CDN Interconnect
Cloud Router
IPSec VPN
etc...

Weitere ähnliche Inhalte

Was ist angesagt?

Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
YASUKAZU NAGATOMI
 
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
Google Cloud Platform - Japan
 

Was ist angesagt? (20)

俺とKubernetes
俺とKubernetes俺とKubernetes
俺とKubernetes
 
対話AI on Kubernetes
対話AI on Kubernetes対話AI on Kubernetes
対話AI on Kubernetes
 
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
 
Kubernetes virgin is permitted until 2017
Kubernetes virgin is permitted until 2017Kubernetes virgin is permitted until 2017
Kubernetes virgin is permitted until 2017
 
Kubernetes etc.. & rancher 2.0 technical preview
Kubernetes etc.. & rancher 2.0 technical previewKubernetes etc.. & rancher 2.0 technical preview
Kubernetes etc.. & rancher 2.0 technical preview
 
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
 
KueCon 2020 NA Recap - Building a Global Supercomputer with Virtual Kubelet /...
KueCon 2020 NA Recap - Building a Global Supercomputer with Virtual Kubelet /...KueCon 2020 NA Recap - Building a Global Supercomputer with Virtual Kubelet /...
KueCon 2020 NA Recap - Building a Global Supercomputer with Virtual Kubelet /...
 
[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送
[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送
[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送
 
GKE のアプリデプロイは Spinnaker に任せて!
GKE のアプリデプロイは Spinnaker に任せて!GKE のアプリデプロイは Spinnaker に任せて!
GKE のアプリデプロイは Spinnaker に任せて!
 
Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活
 
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
 
What’s new in cloud run 2021 後期
What’s new in cloud run 2021 後期What’s new in cloud run 2021 後期
What’s new in cloud run 2021 後期
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
Knative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみたKnative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみた
 
Datadog による Container の監視について
Datadog による Container の監視についてDatadog による Container の監視について
Datadog による Container の監視について
 
Kubernete超概要
Kubernete超概要Kubernete超概要
Kubernete超概要
 
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
RancherとGitOps的な話
RancherとGitOps的な話RancherとGitOps的な話
RancherとGitOps的な話
 
[Cloud OnAir] 開発ツールと踏み出す Kubernetes への第一歩 2019年9月19日 放送
[Cloud OnAir] 開発ツールと踏み出す Kubernetes への第一歩 2019年9月19日 放送[Cloud OnAir] 開発ツールと踏み出す Kubernetes への第一歩 2019年9月19日 放送
[Cloud OnAir] 開発ツールと踏み出す Kubernetes への第一歩 2019年9月19日 放送
 

Andere mochten auch

Andere mochten auch (14)

WWDCを120%楽しむ
WWDCを120%楽しむWWDCを120%楽しむ
WWDCを120%楽しむ
 
Sl study 20150804-soft-layer-apibasic-shibata
Sl study 20150804-soft-layer-apibasic-shibataSl study 20150804-soft-layer-apibasic-shibata
Sl study 20150804-soft-layer-apibasic-shibata
 
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
 
Xamarin 紹介:Windows Phone / iOS / Android アプリ同時開発のススメ 2015/8/20 版
Xamarin 紹介:Windows Phone / iOS / Android アプリ同時開発のススメ 2015/8/20 版Xamarin 紹介:Windows Phone / iOS / Android アプリ同時開発のススメ 2015/8/20 版
Xamarin 紹介:Windows Phone / iOS / Android アプリ同時開発のススメ 2015/8/20 版
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
 
越境まちづくり・ラボ~経営資源の日本から新興国へリサイクル活用!
越境まちづくり・ラボ~経営資源の日本から新興国へリサイクル活用!越境まちづくり・ラボ~経営資源の日本から新興国へリサイクル活用!
越境まちづくり・ラボ~経営資源の日本から新興国へリサイクル活用!
 
GCPとBigQueryを用いたIoT基盤の構築
GCPとBigQueryを用いたIoT基盤の構築GCPとBigQueryを用いたIoT基盤の構築
GCPとBigQueryを用いたIoT基盤の構築
 
Pythonを中心としたチーム開発
Pythonを中心としたチーム開発Pythonを中心としたチーム開発
Pythonを中心としたチーム開発
 
kintoneの開発プロセスとプロジェクト管理ツール
kintoneの開発プロセスとプロジェクト管理ツールkintoneの開発プロセスとプロジェクト管理ツール
kintoneの開発プロセスとプロジェクト管理ツール
 
海外のユーザー向け プロダクト開発 ~現場のリアルな工夫&ガチな悩みを語る~
海外のユーザー向けプロダクト開発 ~現場のリアルな工夫&ガチな悩みを語る~海外のユーザー向けプロダクト開発 ~現場のリアルな工夫&ガチな悩みを語る~
海外のユーザー向け プロダクト開発 ~現場のリアルな工夫&ガチな悩みを語る~
 
リクルートにおけるVDI導入 ~働き方変革とセキュリティ向上の両立を目指して~
リクルートにおけるVDI導入 ~働き方変革とセキュリティ向上の両立を目指して~リクルートにおけるVDI導入 ~働き方変革とセキュリティ向上の両立を目指して~
リクルートにおけるVDI導入 ~働き方変革とセキュリティ向上の両立を目指して~
 
事業成長にコミットするエンジニア組織への道のり
事業成長にコミットするエンジニア組織への道のり事業成長にコミットするエンジニア組織への道のり
事業成長にコミットするエンジニア組織への道のり
 
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
 

Ähnlich wie Infra: Kubernetes and GKE, Network

Ähnlich wie Infra: Kubernetes and GKE, Network (20)

Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
 
[GKE & Spanner 勉強会] GKE 入門
[GKE & Spanner 勉強会] GKE 入門[GKE & Spanner 勉強会] GKE 入門
[GKE & Spanner 勉強会] GKE 入門
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
 
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
 
20170413 aws–windows users meetup
20170413 aws–windows users meetup20170413 aws–windows users meetup
20170413 aws–windows users meetup
 
k8sクラスタ構築
k8sクラスタ構築k8sクラスタ構築
k8sクラスタ構築
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
 
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster ImportRancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
 
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
 
Azure container as a service v0.1.19.1213
Azure container as a service v0.1.19.1213Azure container as a service v0.1.19.1213
Azure container as a service v0.1.19.1213
 
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
 
Running Kubernetes on Azure
Running Kubernetes on AzureRunning Kubernetes on Azure
Running Kubernetes on Azure
 
Introduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 SpringIntroduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 Spring
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallenge
 
Introduction of Kubernetes & Rancher
Introduction of Kubernetes & RancherIntroduction of Kubernetes & Rancher
Introduction of Kubernetes & Rancher
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Infra: Kubernetes and GKE, Network

  • 1. Infra: Kubernetes and GKE, Network 荒川 裕紀 aka KUMA
  • 2. 自己紹介 荒川 裕紀 @kumakumakkk エンジニア 新規事業開発、BPR、海外渉外などを担当 bq_sushi #2, gcpja night #31, OpenStack Summit 2015 などで発表 Golang/nginx/h2o/Redis/MySQL zsh/Ansible/Spinnaker/Ubuntu/Alpine fastly/k8s/GCP/AWS Cisco/Aruba/Ubiquiti Networks とかを使っている
  • 3.
  • 4. !?
  • 6. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem 参考にしたセッション GKE, Kubernetes Sessions: ABCs of Google Container Engine: tips and best practices (Google Cloud Next '17) Kubernetes and Google Container Engine (Google Cloud Next '17) Globally scalable microservices with Container Engine & Cloud Load Balancing (Google Cloud Next ‘17) Deciding between Compute Engine, Container Engine, App Engine and more (Google Cloud Next '17) Network Sessions: Deciding between Compute Engine, Container Engine, App Engine and more (Google Cloud Next '17) A cloud networking blueprint for securing your workloads (Google Cloud Next '17)
  • 7. Agenda ● どの環境を選ぶべきか? GCE, GKE, AppEngine, Cloud Function ● Kubernetesとは ● What’s new in Kubernetes 1.6 ● GCPとオンプレミス環境の接続
  • 9. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem 4つの環境 Compute Engine Container Engine App Engine Cloud Function
  • 10. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Compute Engine いわゆるVM フレキシブルなスペックの設定  CPU, GPU, RAM, Disk(HDD/SSD) 使えば使うほど料金割引、 Preemptable VM、分単位課金 ライブマイグレーション 現状のオンプレにあるシステムをそのままクラウドに持っていきたい
  • 11. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Container Engine フルマネージドなKubernetes  ノード  Kubernetes自体のアップデート  クラスターのオートスケーリング 論理的なインフラ志向
  • 12. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem 使いたい場面と制約 使いたい場面 制約 アプリケーションをいろいろな環境 /IaaSで 動かしたい場合 コンテナの利点を最大限活用したい場合 Dev, Ops, セキュリティチームの円滑なコ ミュニケーションが可能な場合 CI/CDを積極的に行いたい場合 HTTP以外のプロトコル、低レイヤのネット ワークまで手を出したい場合 コンテナを使わなければいけない Kubernetes/コンテナを使わないといけない ので、設計に制約がある
  • 13. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem App Engine App Engineで動くようにアプリケーションを作成すれば、オペレーションをほぼすべて肩代わ りしてくれる環境  コーディングに集中できる App Engine Flexible  コンテナをフルマネージドで運用  SSHでデバッグできる 現状 1000億リクエスト/日 をさばいている
  • 14. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem 使いたい場面と制約 使いたい場面 制約 HTTP(S)でリクエスト、リスポンスを行うアプ リケーションの場合 ステートレスなアプリケーションを運用した い場合 トラフィックが多いウェブサイトを運用する 場合 AppEngine Standard  Python, Java, PHP, Goで実装  Binary Extensionは使えない  設計、実装で制約がある AppEngine Flexible  コンテナを使わなければいけない  スケールに合わせて ComputeEngineが  立ち上がる
  • 15. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Cloud Function サーバーレスでイベントドリブンな環境で機能を提供 GCPのクラウドサービスをトリガにして実行  Cloud Pub/Sub, Cloud Storage 実行した回数だけ料金がかかる Node.jsのランタイムを使用
  • 16. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem 使いたい場面と制約 使いたい場面 制約 サーバーレスで運用したい GCPのサービスのイベントをトリガにして何 かを処理したい HTTPのAPIを提供したい Node.js(Javascript)のみに対応 イベントドリブンでなければいけない
  • 17. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem 環境を決める要素 チーム、組織の性質 技術的な必須項目 抽象化したいレイヤ
  • 19. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Kubernetes コンテナクラスターを管理 複数のクラウドベンダー、オンプレミス環境をサポート 複数のコンテナランタイムをサポート オープンソース GOで実装 VMではなく、アプリケーションを管理する
  • 20. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Kubernetes スケジューリング: どこでコンテナが動くか 生存管理: コンテナを常に動かす スケーリング: コンテナを増やしたり部屋したりする サービスディスカバリ : コンテナがどこで動いているか管理 ロードバランシング: 複数コンテナ間の通信 ストレージ: コンテナがデータを保存できる場所を確保 ロギング・モニタリング : コンテナで何が起こっているかを管理 デバッグ・内部検査: コンテナにアタッチ 認証と認可: ユーザの権限を管理
  • 21. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Kubernetesの要素 Pod: 1つ以上のコンテナの集合体。同じ localhost上にあり、必ず同じように    スケジューリングされる Doployment: Podが何個必要かを定義 (ReplicaSet)し、定義通りにPodが動き、また定義      が変更されたらその変更に従って処理を行う Service: アプリケーション(Pod)にアクセスするエンドポイントの管理 Node: Podを動かす計算機。kubeletによって管理される Cluster: Nodeの集合体。Kubernetes Masterによって管理される Namespace: Clusterを仮想的に分割する
  • 23. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
  • 24. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Demo
  • 26. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Scale kubectl autoscale deployment [NAME] --min=3 --max=10 5000ノード、150,000 Pods対応可能に 水平Podスケーリング クラスターオートスケーリング gcloud container clusters update [NAME] --enable-autoscaling --min-nodes=3 --max-nodes=10
  • 27. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Cluster Federation kubefed Federated Control plane GCP オンプレ AWS asia-northeast-1a us-east1-b 大手町 sa-east-1 Cross cluster service discovery Cluster healthcheck Federated API
  • 28. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Multi-zone Cluster gcloud container clusters create [NAME] --num-nodes=3 --zone asia-northeast1-a --additional-zones=asia-northeast1-b, asia-northeast1-c ゾーンをまたいでクラスターを構築することにより ゾーン単位の障害を回避
  • 29. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Node Affinity/Anti-Affinity apiVersion: v1 kind: Pod metadata: name: with-node-affinity spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: failure-domain.beta.kubernetes.io/zone operator: In values: - asia-northeast1-a - asia-northeast1-b containers: - name: with-node-affinity image: gcr.io/google_containers/pause:2.0 どんなノード上でポッドを作成するか /しないかを指定
  • 30. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem And more... Role-based access control(RBAC) Taints Tolerations Dynamic Storage Provisioning DemonSet updates CRI Per Pod Eviction GPU support (with Docker CRI) etc...
  • 32. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem XPN (Cross Project Network)
  • 33. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Private/Carrier Interconnect
  • 34. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem And more... CDN Interconnect Cloud Router IPSec VPN etc...