Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Emma Haruka Iwao
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
Etsuji Nakai
Docker事始めと最新動向 2015年6月
Emma Haruka Iwao
Personal Cloud Automation
Etsuji Nakai
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)
Etsuji Nakai
Docker with RHEL7 技術勉強会
Etsuji Nakai
OpenStack(RDO/Grizzly) ダッシュボード利用演習
Etsuji Nakai
ラズパイ2で動く Docker PaaSを作ってみたよ
npsg
1
of
23
Top clipped slide
Using Kubernetes on Google Container Engine
Nov. 14, 2016
•
0 likes
10 likes
×
Be the first to like this
Show More
•
2,941 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
2016/11/14 ver1.0 published 2016/11/18 ver1.1 Docker Quick Tour追加 2017/02/20 ver1.2 Update
Etsuji Nakai
Follow
Cloud Solutions Architect at Google
Advertisement
Advertisement
Advertisement
Recommended
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
Etsuji Nakai
7.4K views
•
59 slides
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
Etsuji Nakai
8.8K views
•
31 slides
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
Etsuji Nakai
10.1K views
•
67 slides
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Etsuji Nakai
3.5K views
•
32 slides
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Etsuji Nakai
2.3K views
•
38 slides
Open Shift v3 主要機能と内部構造のご紹介
Etsuji Nakai
7.1K views
•
30 slides
More Related Content
Slideshows for you
(20)
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Emma Haruka Iwao
•
36.9K views
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
Etsuji Nakai
•
12.7K views
Docker事始めと最新動向 2015年6月
Emma Haruka Iwao
•
5K views
Personal Cloud Automation
Etsuji Nakai
•
2.6K views
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)
Etsuji Nakai
•
7.2K views
Docker with RHEL7 技術勉強会
Etsuji Nakai
•
6K views
OpenStack(RDO/Grizzly) ダッシュボード利用演習
Etsuji Nakai
•
6.6K views
ラズパイ2で動く Docker PaaSを作ってみたよ
npsg
•
3.6K views
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
Etsuji Nakai
•
8K views
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
Etsuji Nakai
•
8.8K views
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
Etsuji Nakai
•
11.2K views
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
Masaomi Kudo
•
29.5K views
クラウドオーケストレーション「OpenStack Heat」に迫る!
Etsuji Nakai
•
13.6K views
Docker volume基礎/Project Longhorn紹介
Masahito Zembutsu
•
3.2K views
RDOとPackstackのご紹介
Etsuji Nakai
•
9K views
爆速プレビュープロキシ pool
mookjp
•
12.1K views
コンテナ型仮想化とはなんだったのか
えむ ばーど
•
22.6K views
Aeolus Conductorによる複数環境へのデプロイ自動化
Etsuji Nakai
•
2.5K views
Red Hat Enterprise Linux 7.1 Kubernetes入門
Etsuji Nakai
•
6.6K views
環境構築自動化ツールのご紹介
Etsuji Nakai
•
2.7K views
Viewers also liked
(20)
Spannerに関する技術メモ
Etsuji Nakai
•
9.3K views
元OracleMasterPlatinumがCloudSpanner触ってみた
Kumano Ryo
•
9K views
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
Kumano Ryo
•
18.8K views
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
Etsuji Nakai
•
10.8K views
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
Shuyo Nakatani
•
11.3K views
Googleにおける機械学習の活用とクラウドサービス
Etsuji Nakai
•
6.2K views
Life with jupyter
Etsuji Nakai
•
3.1K views
Numpy scipy matplotlibの紹介
Tatsuro Yasukawa
•
2.7K views
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Etsuji Nakai
•
9.4K views
Introducton to Convolutional Nerural Network with TensorFlow
Etsuji Nakai
•
4.2K views
数式をnumpyに落としこむコツ
Shuyo Nakatani
•
31.6K views
NumPy闇入門
Ryosuke Okuta
•
21K views
言語処理するのに Python でいいの? #PyDataTokyo
Shuyo Nakatani
•
21.2K views
数式を綺麗にプログラミングするコツ #spro2013
Shuyo Nakatani
•
50.3K views
Pythonによる機械学習
Kimikazu Kato
•
14K views
Generative adversarial networks
Shuyo Nakatani
•
5.2K views
2014 3 13(テンソル分解の基礎)
Tatsuya Yokota
•
39.7K views
「ITエンジニアリングの本質」を考える
Etsuji Nakai
•
15.2K views
Effective Numerical Computation in NumPy and SciPy
Kimikazu Kato
•
8.8K views
TensorFlowによるCNNアーキテクチャ構築
Hirokatsu Kataoka
•
18.4K views
Advertisement
Similar to Using Kubernetes on Google Container Engine
(20)
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
•
7.1K views
20230128.pptx
ssuserdad311
•
312 views
Osc201703 tokyo-clonezilla-v1.2 j
Akira Yoshiyama
•
502 views
Dockerの仕組みとIIJ社内での利用例
maebashi
•
18K views
今さら聞けない人のためのDocker超入門
Toru Miyahara
•
1.3K views
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
•
68.5K views
Docker入門 OSC 2018 Tokyo/Spring
cyberblack28 Ichikawa
•
4.3K views
Dockerを支える技術
Etsuji Nakai
•
81.9K views
今さら聞けない人のためのDocker超入門 - KOF
VirtualTech Japan Inc.
•
4.6K views
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
VirtualTech Japan Inc.
•
9K views
Docker Swarm モード にゅうもん
Masahito Zembutsu
•
7.1K views
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
VirtualTech Japan Inc.
•
5.6K views
今さら聞けない人のためのDocker超入門
VirtualTech Japan Inc./Begi.net Inc.
•
433 views
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Masahito Zembutsu
•
12.8K views
20170124 linux basic_1
YUSUKE MORIZUMI
•
276 views
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
•
82K views
Dockerハンズオン
Kazuyuki Mori
•
2.3K views
DockerとDocker Hubの操作と概念
Masahito Zembutsu
•
27.9K views
第一回コンテナ情報交換会@関西
Masahide Yamamoto
•
1.8K views
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
•
32.9K views
More from Etsuji Nakai
(20)
PRML11.2-11.3
Etsuji Nakai
•
4K views
Googleのインフラ技術から考える理想のDevOps
Etsuji Nakai
•
22.4K views
A Brief History of My English Learning
Etsuji Nakai
•
2.8K views
TensorFlowプログラミングと分類アルゴリズムの基礎
Etsuji Nakai
•
4.7K views
TensorFlowによるニューラルネットワーク入門
Etsuji Nakai
•
19.2K views
Lecture note on PRML 8.2
Etsuji Nakai
•
1K views
Machine Learning Basics for Web Application Developers
Etsuji Nakai
•
4K views
Your first TensorFlow programming with Jupyter
Etsuji Nakai
•
2.6K views
Deep Q-Network for beginners
Etsuji Nakai
•
2.4K views
TensorFlowで学ぶDQN
Etsuji Nakai
•
10.1K views
DevOpsにおける組織に固有の事情を どのように整理するべきか
Etsuji Nakai
•
4.6K views
PRML7.2
Etsuji Nakai
•
964 views
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
Etsuji Nakai
•
2.4K views
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Etsuji Nakai
•
5.1K views
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Etsuji Nakai
•
8.2K views
分散ストレージソフトウェアCeph・アーキテクチャー概要
Etsuji Nakai
•
12.8K views
OpenStackとDockerの未来像
Etsuji Nakai
•
8K views
OpenShift v3 Technical Introduction
Etsuji Nakai
•
4.6K views
Python 機械学習プログラミング データ分析演習編
Etsuji Nakai
•
20.8K views
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture
Etsuji Nakai
•
7K views
Advertisement
Recently uploaded
(20)
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
オラクルエンジニア通信
•
31 views
ペンタエリスリトール市場.pdf
HinaMiyazu
•
3 views
DrupalをDockerで起動してみる
iPride Co., Ltd.
•
21 views
統計学の攻略_推測統計学の考え方.pdf
akipii Oga
•
229 views
Voyager: An Open-Ended Embodied Agent with Large Language Models
harmonylab
•
0 views
HTTPの仕組みについて
iPride Co., Ltd.
•
9 views
量子論.pdf
hiro150493
•
7 views
20230523_IoTLT_vol99_kitazaki_v1.pdf
Ayachika Kitazaki
•
112 views
SoftwareControl.pdf
ssusercd9928
•
15 views
通信プロトコルについて
iPride Co., Ltd.
•
7 views
20230601_Visual_IoTLT_vol14_kitazaki_v1.pdf
Ayachika Kitazaki
•
67 views
Forguncy8 製品概要 202305.pptx
フォーガンシー
•
55 views
JSTQB_テストプロセスの概念モデル.pdf
akipii Oga
•
224 views
MC-800DMT intrusion detector manual
Vedard Security Alarm System Store
•
3 views
社内ソフトスキルを考える
infinite_loop
•
85 views
Wandb LLM Webinar May 30 2023 (配布用).pdf
Yuya Yamamoto
•
3 views
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
Deep Learning JP
•
85 views
Üslup ve tercüme.pdf
1Hmmtks
•
2 views
3Dプリンタって いいね
infinite_loop
•
57 views
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
•
31 views
Using Kubernetes on Google Container Engine
Using Kubernetes on Google
Container Engine Etsuji Nakai Cloud Solutions Architect at Google November 11, 2016 ver1.1
Docker and Container Technology
Docker の基本機能 Dockerfile ① コンテナイメージを自動作成 OS
ファイル アプリケーション ライブラリー アプリケーション バイナリー イメージの 作成手順を記載 コンテナ イメージ アプリケーション実行に必要な 最低限のファイルを提供 ② コンテナイメージを保存・公開 ③ ホストサーバーに イメージを配布・実行
Linux コンテナの概要 コンテナ 物理サーバー/仮想マシン アプリケーション アプリケーション ・・・ 物理サーバー/仮想マシン Linux カーネル ・・・ コンテナ 通常の
Linux 環境 コンテナで分割した環境 コンテナごとに 見える環境が異なる すべてのアプリケーション から同じ環境が見える ▪ 「 Linux コンテナ」は、プロセスグループごとに独立した OS 環境を見せる技術 ● ローカルディスクの内容(ディレクトリー内のファイル) ● ネットワーク環境( NIC 、 IP アドレス) ● CPU 、メモリー割り当てなど Linux カーネル アプリケーション アプリケーション
Namespace によるリソースの分割 ▪ コンテナによって分離されるリソースにはいくつかの種類がありますが、内部的には、 それぞれ異なる技術で実現されています。 ● ファイルシステムの分離
→ Mount namespace (kernel 2.4.19) ● ホストネームの分離 → UTS namespace (kernel 2.6.19) ● IPC の分離 → IPC namespece (kernel 2.6.19) ● ユーザ( UID/GID )の分離 → User namespace (kernel 2.6.23 〜 kernel 3.8) ● プロセステーブルの分離 → PID namespace (kernel 2.6.24) ● ネットワーク設定の分離 → Network Namepsace (kernel 2.6.24) ● リソース配分の制御 → Control groups ※ 参考資料「 Namespaces in operation, part 1: namespaces overview 」 http://lwn.net/Articles/531114/ ▪ Linux コンテナはこれらの機能を組み合わせて実現されるものであり、「コンテナ」という単一の技 術があるわけではありません。
コンテナイメージの管理機能 ▪ 「コンテナイメージ」の実体は、コンテナ に割り当てるディスクイメージに、ネット ワーク設定などの環境情報を付与したもの にすぎません。 ▪ Docker
の特徴は、次のような「イメージ 管理機能」にあります。 ▪ Dockerfile : コンテナイメージを自動作成する仕組み ▪ Image Registry : コンテナイメージを共有・配布する仕組み コンテナー アプリケーション ディレクトリツリー ホスト OS にマウント ルートディレクトリ として割り当て コンテナイメージ
Docker Quick Tour
コンテナとイメージのライフサイクル 参考: Docker におけるコンテナのライフサイクル http://d.hatena.ne.jp/enakai00/20140628/1403933390 保存イメージ スナップ ショット コンテナ起動時に スナップショットを作成 × run commit rm プロセス スナップ ショット stop start 保存イメージ コンテナを停止するとプロセスが停止 (ディスクイメージは残っている) コンテナを削除すると ディスクイメージを破棄 ディスクイメージを複製して 保存イメージとして登録
コンテナとのネットワーク通信 コンテナ ホスト Linux vethXX eth0 docker0 eth0 外部ネットワーク 172.17.42.1 # docker
run -d -p 8000:80 ... ホスト Linux の IP アドレスに接続 TCP 8000 TCP 80 ポート フォワー ディング ▪ 外部ネットワークとの通信は、ホスト Linux で NAT が行われます。 ● コンテナから外部へは、デフォルトで IP マスカレードが行われます。 ● 外部からコンテナへは、コンテナ起動時のオプションでポートフォワーディングを設定します。
Docker の基本操作 ▪ Apache
HTTP サーバーを起動して index.html を用意する例です。 $ docker search httpd NAME DESCRIPTION STARS OFFICIAL AUTOMATED httpd The Apache HTTP Server Project 780 [OK] centos/httpd 9 [OK] ... $ docker pull httpd $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE httpd latest 3076aa23a73c 9 days ago 193.3 MB $ docker run -d --name webserver -p 8080:80 httpd:latest a101d9d6fbf78a5c1b0fcf1339f1ee1a4f94eb7c9a74e51ea769d2050f84712c $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a101d9d6fbf7 httpd:latest "httpd-foreground" 2 seconds ago Up 2 seconds 0.0.0.0:8080->80/tcp webserver $ echo '<h1>Hello, World!</h1>' > /tmp/index.html $ docker cp /tmp/index.html webserver:/usr/local/apache2/htdocs/index.html
Docker の基本操作 ▪ コンテナ内部で
bash を起動して、コンテナ内の様子を確認する例です。 $ docker exec -it webserver bash root@a101d9d6fbf7:/usr/local/apache2# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 23:20 ? 00:00:00 httpd -DFOREGROUND daemon 8 1 0 23:20 ? 00:00:00 httpd -DFOREGROUND daemon 9 1 0 23:20 ? 00:00:00 httpd -DFOREGROUND daemon 10 1 0 23:20 ? 00:00:00 httpd -DFOREGROUND root 118 0 2 23:38 ? 00:00:00 bash root 124 118 0 23:38 ? 00:00:00 ps -ef root@a101d9d6fbf7:/usr/local/apache2# ip a ... 5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue state UP group default link/ether 02:42:ac:12:00:02 brd ff:ff:ff:ff:ff:ff inet 172.18.0.2/16 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::42:acff:fe12:2/64 scope link valid_lft forever preferred_lft forever root@a101d9d6fbf7:/usr/local/apache2# df Filesystem 1K-blocks Used Available Use% Mounted on none 10188088 5695284 3952236 60% / tmpfs 304344 0 304344 0% /dev tmpfs 304344 0 304344 0% /sys/fs/cgroup /dev/sda1 10188088 5695284 3952236 60% /etc/hosts shm 65536 0 65536 0% /dev/shm root@a101d9d6fbf7:/usr/local/apache2# exit
From Borg to
Kubernetes
Google におけるコンテナの活用 ▪ Large-scale
cluster management at Google with Borg ● http://research.google.com/pubs/pub43438.html ▪ Borg, Omega, and Kubernetes ● http://research.google.com/pubs/pub44843.html
プラネットスケールのサービスを実現するポイント ▪ 全世界のすべてのデータセンターで共通化されたインフラの提供 ▪ OS
レイヤーを隠蔽して、アプリケーションレベルでの管理に集中 ▪ リソーススケジューラーによるアプリケーションデプロイの最適化 ▪ アプリケーションのオートスケールとサービスの抽象化 ▪ データストアとアプリケーションの分離 分散ソフトウェア技術で実現した Datacenter as a Computer Borg/Omega
Borg / Omega
の特徴 ▪ コンテナを用いたアプリケーション実行基盤 ▪ OS レイヤーを隠蔽して、アプリケーションレベルでの管理に集中 ▪ リソーススケジューラーによるアプリケーションデプロイの最適化 http://www.hpts.ws/papers/2015/wilkes.pdf
Kubernetes ▪ オープンソースコミュニティで開発されているコンテナオーケストレーションツール ▪ Google
におけるコンテナ管理の経験を踏まえて、 Google のエンジニアが設計を主導 ▪ ベアメタルサーバー上のコンテナと仮想マシン上のコンテナを管理可能 ▪ マイクロサービスを効率的にデプロイ、アップデートする機能として、コンテナ (Pod) のオートスケール、 Blue Green Deployment 、 Rolling Update などを提供
Deployment と Service
によるマイクロサービス管理 ▪ Deployment :同一の Pod を複数起動してスケールする仕組みを提供 ▪ Service :同一の Pod に代表 IP アドレスを割り当てて抽象化する仕組みを提供 ReplicaSet - replicas: 3 - selector: - app: MyApp - version: v1 Deployment - name: MyApp Virtual IP Service - name: MyService
Blue Green Deployment ▪
別バージョンの Pod 群を並列稼働して、 Service 定義の変更でアクセス先を切り替え ReplicaSet - replicas: 3 - selector: - app: MyApp - version: v1 ReplicaSet - replicas: 3 - selector: - app: MyApp - version: v2 Virtual IP
Rolling Update ▪ 同一の
Deployment 配下の Pod を段階的に新バージョンに入れ替えることでサービスの ライブアップデートを実施 ReplicaSet - replicas: 3 - selector: - app: MyApp - version: v1 ReplicaSet - replicas: 3 - selector: - app: MyApp - version: v2 v2 を追加v1 を削除
GKE : Google Container
Engine
GKE : Google
Container Engine ▪ Google Cloud Platform で提供される Kubernetes のマネージドサービス環境 ▪ GUI/CUI 操作、 API リクエストにより Kubernetes のクラスタ環境を自動構築 ▪ Cloud SQL 、 Cloud Datastore などのデータストアサービスと連携可能 ▪ Service によるネットワーク管理と Cloud Load Balancing のグローバル・ロードバラン サーを自動連携
デモンストレーションをお楽しみください http://enakai00.hatenablog.com/entry/2016/08/10/152334
Thank You!
Advertisement