Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetes 触ってみた
Search
Shinichirow KAMITO
July 17, 2015
Technology
1
730
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
CursorによるPMO業務の代替 / Automating PMO Tasks with Cursor
motoyoshi_kakaku
2
840
Github Copilot エージェントモードで試してみた
ochtum
0
140
無意味な開発生産性の議論から抜け出すための予兆検知とお金とAI
i35_267
2
6.2k
解析の定理証明実践@Lean 4
dec9ue
1
210
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
190
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
3
630
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
2
4.2k
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
250
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
380
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
690
Lambda Web Adapterについて自分なりに理解してみた
smt7174
5
150
怖くない!はじめてのClaude Code
shinya337
0
320
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Designing for humans not robots
tammielis
253
25k
Become a Pro
speakerdeck
PRO
28
5.4k
Adopting Sorbet at Scale
ufuk
77
9.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
The Cult of Friendly URLs
andyhume
79
6.5k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
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