Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetes 触ってみた
Search
Shinichirow KAMITO
July 17, 2015
Technology
1
750
Kubernetes 触ってみた
Container EngineでKubernetesを触ってみた記録です。
Shinichirow KAMITO
July 17, 2015
Tweet
Share
More Decks by Shinichirow KAMITO
See All by Shinichirow KAMITO
GCP概要 - 福岡クラウド UG Night
kamito
0
1.7k
Other Decks in Technology
See All in Technology
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
400
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
190
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
200
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.2k
AlmaLinux + KVM + Cockpit で始めるお手軽仮想化基盤 ~ 開発環境などでの利用を想定して ~
koedoyoshida
0
150
ESXi のAIOps だ!2025冬
unnowataru
0
330
ExpoのインダストリーブースでみたAWSが見せる製造業の未来
hamadakoji
0
190
Identity Management for Agentic AI 解説
fujie
0
440
20251203_AIxIoTビジネス共創ラボ_第4回勉強会_BP山崎.pdf
iotcomjpadmin
0
130
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
120
さくらのクラウド開発ふりかえり2025
kazeburo
2
840
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
210
Featured
See All Featured
From π to Pie charts
rasagy
0
91
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
32
The Limits of Empathy - UXLibs8
cassininazir
1
190
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
130
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
49
A Tale of Four Properties
chriscoyier
162
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
47k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
50
41k
Transcript
Kubernetes Shinichirow KAMITO Groovenauts, Inc. 1 / 23
Me Name: Shinichirow KAMITO Company: Groovenauts, Inc. Languages: Ruby, Erlang,
JavaScript (Python, Golang) 2 / 23
kubernetes 3 / 23
kubernets kubernetesはGoogleがGoogleが公開したオープンソースのDockerコンテナオーケストレー ションツール。 via http://kubernetes.io/ 4 / 23
最近のDockerブームによりアプリケーションをDockerコンテナで動かす機会が増えた。 docker runすれば起動するけど、何十台、何百台とコンテナを起動する度にdocker runす んの? 稼動してるコンテナはどうやって管理すんの? コンテナ死んだらどうすんの? という問題が出てくるので、これらを解決するために生まれた。 5 /
23
Google Container Engine 6 / 23
Google Container Engine Dockerコンテナのを展開し、Kubenetesで管理されるGoogleが提供しているサービス。 (現 在はアルファリリース) 今日はKubernetesそのものというよりも、こちらの紹介になります。 7 / 23
Container Engine Google Developer Consoleのメニューから「Container Engine > コンテナ クラスタ」を選 択して、「無料試用に登録」をクリックしてコンテナクラスタを有効にします。
8 / 23
「新しいコンテナ クラスタ」をクリックして新しいコンテナクラスタを作成します。 名前や マシンタイプ、クラスタ数を入力して作成します。 9 / 23
Container Engineではgcloudコマンドツールで提供されているツールを利用して、 Kubernetesの管理を行ないます。 10 / 23
gcloud コンテナエンジンのクラスタを操作するには、gcloudコマンドの kubectl コマンドを利用しま す。 $ gcloud components list --------------------------------------------------------------------------------------------------
| Components | |------------------------------------------------------------------------------------------------| | Status | Name | ID | Size | |------------------+-----------------------------------------------+-------------------+---------| | Update Available | BigQuery Command Line Tool | bq | < 1 MB | | Update Available | Cloud SDK Core Libraries | core | 2.0 MB | | Update Available | Default set of gcloud commands | gcloud | < 1 MB | | Update Available | Developer Preview gcloud Commands | preview | < 1 MB | | Deprecated | Compute Engine Command Line Tool (deprecated) | gcutil | < 1 MB | | Not Installed | App Engine Command Line Interface (Preview) | app | < 1 MB | | Not Installed | Compute Engine Command Line Tool Checker | gcutil-msg | < 1 MB | | Not Installed | gcloud app Java Extensions | app-engine-java | 95.2 MB | | Not Installed | gcloud app Python Extensions | app-engine-python | 6.9 MB | | Installed | Cloud Storage Command Line Tool | gsutil | 2.7 MB | | Installed | gcloud Alpha Commands | alpha | < 1 MB | | Installed | gcloud Beta Commands | beta | < 1 MB | | Installed | kubectl | kubectl | | -------------------------------------------------------------------------------------------------- To install new components or update existing ones, run: $ gcloud components update COMPONENT_ID 11 / 23
kubectl kubectlコマンドをインストールします。 $ gcloud components update kubectl インストールできたらversionが確認できます。 $ kubectl
version Client Version: version.Info{Major:"0", Minor:"20.1", GitVersion:"v0.20.1", GitCommit:"", GitTreeSt ate:"not a git tree"} Server Version: version.Info{Major:"0", Minor:"21", GitVersion:"v0.21.2", GitCommit:"4e89f2e6670b16 62021a86ac42b99c5c50c37d05", GitTreeState:"clean"} kubectl helpするとなんかいっぱい出ます。 12 / 23
gcloud config kubectlで使用するプロジェクトやゾーン、クラスタの設定をします。 $ gcloud config set project PROJECT_ID $
gcloud config set compute/zone asia-east1-c $ gcloud config set container/clouster CLUSTER_NAME $ gcloud config list [compute] zone = asia-east1-c [container] cluster = CLUSTER_NAME [core] account =
[email protected]
disable_usage_reporting = False project = PROJECT_ID 13 / 23
コンテナクラスタをDeveloper Consoleから作成したり、別のマシンで作成した場合は、以下 のコマンドを実行して、 kubectlがクラスタAPIにアクセスするために認証情報(Credentials) を作成する必要があります。 $ gcloud beta container get-credentials
必要に応じて、--zoneや--clusterを指定できます。 via: https://cloud.google.com/container‒engine/docs/before‒you‒begin 14 / 23
Cluster 15 / 23
VM 「Compute Engine > VM インスタンス」でインスタンス一覧を確認すると、名前に先ほど入 力したクラスタ名が含まれているインスタンスがクラスタ入力数分作成されています。 Kubernetesはここで作成されて登録されているクラスタインスタンスに対してDockerコンテ ナの展開を行ないます。 これらインスタンスのことをノード(Node)といいます。
ノードの一覧を確認するには、 $ kubectl get nodes で確認できます。 16 / 23
(Pod) ポッド(Pod)とは、ノードの中で起動するコンテナのグループみたいなもの。 JSONまたは YAMLで記述することができ、名前やラベルをつけることもできます。 クラスタ内のコンテナはこのポッド単位で管理を行ないます。 17 / 23
Pod ReplicationController Service 18 / 23
ポッドの起動を行なうには、kubectl createコマンドを利用します。 $ kubectl create -f /path/to/your-directory/locust-master-controller.yml replicationcontrollers/locust-master 起動したポッドの一覧を確認するにはkubectl getコマンドを利用します。
$ kubectl get pods kubectl getコマンドはその他の各種リソースも取得することができます。 19 / 23
createしたときのポッド数はPodファイルの replicas で指定した個数分しか起動していませ ん。 例えば負荷が増大してより夛くのポッド数を必要としたときには、 kubectl scale コマン ドを利用して、 ポッド数を増減させることができます。
$ kubectl scale --replicas=10 replicationcontroller locust-worker scaled もう一度 kubectl get pods してみます。 $ kubectl get pods TODO: Pending 20 / 23
KubernetesはDockerコンテナを管理するためのオーケストレーションツール。 Kubernetesを動かすためのサービスとしてGoogle Container Engine(alpha)がある。 まずはノードを準備する。 次に構成をポッドとして作成する。 起動も、スケールも超簡単 21 / 23
¿Questions? 22 / 23
Thank You 23 / 23