コンテナ技術 ハンズオン Vol.5 Kubernetes編

# 本題の前に
---

## 位置付け・前提
本記事は、社内ワークショップ のために用意したものです。そのため、次の前提で進めることをご理解ください。

また、本稿はこちらの続きとなります。

[コンテナ技術 ハンズオン Vol.1 Docker操作編](https://qiita.com/syamane/items/65570b41b3d6d32691a5)
[コンテナ技術 ハンズオン Vol.2 Dockerイメージ編](https://qiita.com/syamane/items/1b552ce28932dbfd3c56)
[コンテナ技術 ハンズオン Vol.3 Docker Compose編](https://qiita.com/syamane/items/dcea30a7794f9755a59d)
[コンテナ技術 ハンズオン Vol.4 Docker管理編](https://qiita.com/syamane/items/4b43dec0202deda25403)

目的や前提なども上記の内容に準拠します。

---

## Kubernets ハンズオン環境

前回まで利用していた [Play with Docker](https://labs.play-with-docker.com/) ではなく、[Play with Kuberunets](https://labs.play-with-k8s.com/) を活用してハンズオンを行います。

[![play with k8s](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/107190/efb7a75e-0352-61e2-1b67-ff8d2a2c12c6.png)](labs.play-with-k8s.com)

※要：[Docker Hub](https://hub.docker.com/) アカウント

注意点として、この環境は4時間の制限があります。４時間経過すると環境が削除されてしまう点を注意して下さい。

もちろん次を利用したローカル環境でも構いません。

* [minikube](https://minikube.sigs.k8s.io/docs/start/)
* [Docker Desktop](https://www.docker.com/products/docker-desktop)

<!--
なお、英語が堪能な方は、下記を試すのも良いかも知れません。

[Play with Kubernetes classroom](https://training.play-with-kubernetes.com/)
[Katacoda](https://speakerdeck.com/mrtc0/container-structure-and-exploitation-method)

※上記２つは Play With Kubernetes が動作しないときの代替手段としても利用可能です。
-->

---

## Kubernets ハンズオンに挑む前に

下記の動画を最低１つ以上は見ることをオススメします。

* [Think Japan IBM Code Day: [DC-2] Kubernetesで切開く アプリケーション配信の明るい未来 - YouTube](https://www.youtube.com/watch?v=SCgCdHn2IlI)
* [Docker & Kubernetes入門 – (1) 概要編 - YouTube](https://youtu.be/sEU5w6Muvy4)
* [Docker & Kubernetes入門 – (2) デモ編 - YouTube](https://www.youtube.com/watch?v=ii0X_1n4nRs)
* [Think Japan IBM Code Day: [DG-1] 世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤](https://www.youtube.com/watch?v=Vhso-SNHnTY)

読み物が良ければ、下記のいずれか１つは完読しておきましょう。

* [DockerとKubernetesが作る未来](https://www.slideshare.net/jacopen/dockerkubernetes)
* [Kubernetes introduction](https://www.slideshare.net/daebumlee/kubernetes-introduction-92397497)
* [Kubernetesのきほん](https://www.slideshare.net/yoshitakahonda/kubernetes-114176721)
* [”30分”ぐらいでわかる「Kubernetes」について](https://www.slideshare.net/YuyaOhara/30kubernetes-81054893)
* [6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに](https://www.slideshare.net/GoogleCloudPlatformJP/6-18-next-kubernetes)
* [独学Kubernetes　コンテナ開発の基本を最速で理解する](https://qiita.com/Brutus/items/d19af6b9c55de93663f6)

---

# ハンズオン

---
## Play with Kubernetes classroom

こちらが優秀なコンテンツ過ぎるので、英語が分かる人はそのまま、わからない人は Google Chrome の翻訳機能を活用しながら進めましょう。

[![Play with Kubernetes classroom](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/107190/2e0d6666-b856-616d-5c93-1527d3b5edbb.png)](https://training.play-with-kubernetes.com/)

https://training.play-with-kubernetes.com/

---
## 日本語のハンズオン コンテンツは？

順次作っていきますが、Play with Kubernetes classroom が良すぎるので...いります？

とりあえず、こちらを参照されるのが良いかと。動かすだけなら。

[ブラウザでKubernetes！Kubernetesプレイグラウンドでクラスタを構築してみた ｜ DevelopersIO](https://dev.classmethod.jp/etc/kubernetes-playground/)

---
## 補足：K8s の構成は？

[Kubernetes道場 24日目 - Kubernetesの各コンポーネントについて - Toku's Blog](https://cstoku.dev/posts/2018/k8sdojo-24/) で紹介する図が分かり易いです。

[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/107190/d2937b59-6c56-a817-0241-28738dc3f52c.png)](https://cstoku.dev/posts/2018/k8sdojo-24/)

こちらのページも解説が分かり易いので、ぜひご覧ください。

<!--
## 今回のゴール

* Kuberetes で pod を操作できるようになる。

---

kubectl cluster-info
kubectl get nodes


## pod 

---

### はじめての Pod 起動

★★★★★

---

### はじめてのロードバランサー

---

### はじめての pod 製作


---

### はじめての pod 監視

---

### はじめての pod 削除

---

## クラスタ

---

## レプリケーションコントローラ

---
# 問題（宿題）

★★★★★
-->

---
# おわりに

今回は **大量のコンテナ操作**や**定型的な運用操作の効率化**を支えるオーケストレーションツール Kubernetes まで学習しました。

ここまで学習してきたコンテナ技術ですが、実際には GitHub などのサービスと組み合わせて、CI/CDといったテーマに取り組む一部として活用されることが多くなっています。

その辺りは、別のハンズオンを紹介できればと思います。

---

# 参考

## Docker K8s 向けサンプルのコンテナ
* [dockercoins](https://github.com/dockersamples/dockercoins)
* [atsea-sample-shop-app](https://github.com/dockersamples/atsea-sample-shop-app)

## ハンズオン
* [Docker Orchestration Workshop](https://chrigl.de/~chris/jpetazzo/Docker_Orchestration_Workshop.html#184)