rancher/kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ...

66
Rancher/Kubernetes 入門ハンズオン資料 2016 11 8 ( ) さくらインターネット株式会社 Technology Evangelist 前佛雅人 @ zembutsu 第2回さくらとコンテナの夕べ(さくらの夕べ番外編)

Upload: masahito-zembutsu

Post on 08-Jan-2017

1.175 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

Rancher/Kubernetes入門ハンズオン資料

2016年11月8日(火)

さくらインターネット株式会社

Technology Evangelist 前佛雅人

@zembutsu

第 2 回さ くら とコンテナの夕べ ( さ く らの夕べ番外編 )

Page 2: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

2

Rancherハンズオン

Page 4: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

Rancher ハンズオン編の目的

Rancher のセットアップ方法を学ぶどのようにして Rancher サーバを動かすのか

ノードの登録方法を学ぶどのようにして複数台のサーバでコンテナ実行クラスタを構築するのか

サービスの実行方法を学ぶNginx のウェブサーバを実行するには?

Rocket.Chat のオンライン・チャットを実行するには?

4

Page 5: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

1. さくらのクラウドにログイン

1.1. コントロールパネルの表示さくらのクラウド http://cloud.sakura.ad.jp/ から をクリックします。

5

Page 6: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

1.2. 接続情報の確認配布資料のログイン情報を入力します。

入力後は をクリックします。

6

Page 7: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

2. 仮想サーバの起動と接続

Rancher でクラスタを構成するため、3台の仮想サーバを起動します。

2.1. さくらのクラウドで仮想サーバを起動1. 【 さくらのクラウド(IaaS) 】をクリックします。

7

Page 8: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

2. メニュー【 サーバ 】から【 追加 】をクリックします。

8

Page 9: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3. ディスクイメージは【 CentOS 7.2 64bit 】を使います。

9

Page 10: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

4. 「サーバプラン」を【4GB / 2仮想コア】に変更します。「ディスクプラン」はそのままとします。

10

Page 11: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

5. 【 管理ユーザのパスワード 】で root パスワードを設定します。※ 8文字以上の「アルファベット」「数字」「記号」の組み合わせが必要です。

11

Page 12: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

6. ホスト名を【 rancher 】、作成数【 3 】として【 作成 】ボタンをクリックします。

12

Page 13: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

7. 確認画面では【 作成 】をクリックします。

8. サーバ追加作業が完了するまで待ちます。起動後は【 閉じる 】をクリックします。

9. メニューの【 サーバ 】をクリックし、作成したサーバ「 rancher-01~03 」を確認します。

13

Page 14: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

2.2. 仮想サーバへ接続1. IP アドレスを確認します。インターフェースを右クリックし【 IP アドレスをコピー 】を選びます。

2. Tera Term やターミナルなどを開き、3台のサーバに SSH でログインします。

• ログイン時のIDは「root」、パスワードは作成時に入力したもの

• ターミナルでは「ssh -l root <IPアドレス>」か「ssh root@<IPアドレス>」

14

$ ssh -l root 153.125.225.67The authenticity of host ‘153.125.225.67 (153.125.225.67)' can't be established.ECDSA key fingerprint is SHA256:MHsAGGJvASP/yj3JuhwuEH1BfbuJ8FebYyu7eWrjerI.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added ‘153.125.225.67' (ECDSA) to the list of known [email protected]'s password:[root@rancher-01 ~]#

実行例

ssh コマンドで仮想サーバに接続

接続を許可するので yes

パスワードを入力(画面に表示されません)

Page 15: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3. Docker Engine のセットアップ

15

エ ン ジ ンド ッ カ ー

$ docker

仮想サーバの準備が整いましたDocker コンテナを動かすためには、Docker Engine が必要です

Page 16: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3.1 安定版(stable)の最新バイナリを入れる1. パッケージを最新に更新します。

2. docker-engine パッケージをセットアップします。

16

# curl -fsSL https://get.docker.com/ | sh

# yum -y updateヤ ム ワ イ ア ッ プ デ ー ト

ス テ ー ブ ル

Page 17: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3.2. docker サービスの有効化とデーモン起動1. サービスを有効化(サーバのブート時に自動実行)します。

2. docker デーモンを起動します。

3. バージョン番号を確認します。

17

# systemctl enable docker.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

systemctl を実行

# systemctl start docker.service

# docker version(省略)Server:Version: 1.12.3API version: 1.24Go version: go1.6.3Git commit: 6b644ecBuilt:OS/Arch: linux/amd64

docker コマンドで、クライアントとサーバ両方のバージョン表示

docker デーモンが起動していないと、サーバ側のバージョンを表示できない

システムシーティーエル

イ ネ ー ブ ル

ス タ ー ト

バ ー ジ ョ ン

Page 18: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3.3 firewalldの設定変更1. firewall-cmd で、管理用ポートとエージェント間の通信を許可します。

18

# firewall-cmd --add-port=8080/tcp --permanent ←ポート 8080 は rancher-01 のみ# firewall-cmd --add-port=3000/tcp --permanent# firewall-cmd --add-port=500/udp --permanent# firewall-cmd --add-port=4500/udp --permanent# firewall-cmd --reload

Page 19: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

補足情報:CentOS 7 の場合

Docker を削除するには1. パッケージ情報を削除します。

2. データ用ディレクトリを削除します。

3. その他、設定ファイル等を置いた場合は、手作業で削除します。

19

# yum –y remove docker-engine

# rm –rf /var/lib/docker

リ ム ー ブ

アールエム

Page 20: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

4. docker コマンドの基本操作

20

$ docker

Docker Hub

hello-world

Docker コンテナを実行するには Docker イメージが必要ですDocker(公式)イメージは Docker Hub から取得します

Page 21: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

4.1. hello-world コンテナの実行とイメージ確認1. 【 docker run 】コマンドでコンテナを実行します。

21

# docker run hello-worldUnable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-worldc04b14da8d14: Pull completeDigest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9Status: Downloaded newer image for hello-world:latest

Hello from Docker!This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.3. The Docker daemon created a new container from that image which runs the

executable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent it

to your terminal.

To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:https://hub.docker.com

For more examples and ideas, visit:https://docs.docker.com/engine/userguide/.

hello-world:latest イメージを実行

ローカルにイメージがないため、Docker Hubからダウンロード

ダウンロード(pull)完了

hello-world の出力

ド ッ カ ー ラ ン

ド ッ カ ー ラ ン ハ ロ ー ワ ー ル ド

ハ ロ ー ワ ー ル ド

プ ル

Page 22: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

2. 【 docker ps 】コマンドで、コンテナの状態を確認します。

• CONTAINER ID … コンテナごとのユニークな ID• IMAGE … コンテナの元になったイメージ名• CREATED … コンテナの作成時間• STATUS … 現在の状態(ステータス)。「Exited (0)」は正常終了• PORTS … ポートをホスト側に割り当て(マッピング時)は情報を表示• NAMES … コンテナ名。実行時に指定しなければ、「形容詞_人名」を自動組み合わせ

3. 【 docker images 】で、ローカル上のイメージを一覧表示します。

• REPOSITORY … リポジトリ名• TAG … タグ名• IMAGE ID … イメージ ID• CREATED … 作成時• SIZE … イメージの使用容量

22

# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES6d47af69a31b hello-world "/hello" 9 minutes ago Exited (0) 9 minutes ago awesome_varahamihira

オプション「-a」は全て(all)のコンテナを表示

# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEhello-world latest c54a2cc56cbb 3 months ago 1.848 kB

ピーエス

イ メ ー ジ ズ

Page 23: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

4.2. Ubuntu コンテナの実行hello-world イメージを使ったコンテナ実行は、画面にメッセージを表示するシンプルなものでした。次は、サーバのように操作可能な Linux ディストリビューションのコンテナを実行します。

1. 【 docker pull 】コマンドで ubuntu 公式イメージを取得します。

2. ダウンロードしたイメージを【 docker images 】で確認します。

23

# docker pull ubuntuUsing default tag: latestlatest: Pulling from library/ubuntu

6bbedd9b76a4: Pull completefc19d60a83f1: Pull completede413bb911fd: Pull complete2879a7ad3144: Pull complete668604fde02e: Pull completeDigest: sha256:2d44ae143feeb36f4c898d32ed2ab2dffeb3a573d2d8928646dfc9cb7deb1315Status: Downloaded newer image for ubuntu:lates

# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEubuntu latest f753707788c5 2 weeks ago 127.1 MBhello-world latest c54a2cc56cbb 3 months ago 1.848 kB

プ ル

Page 24: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3. ubuntu:latest コンテナを実行します(コロン「:」記号の後ろはタグ)。

4. Ubuntu のバージョンを確認します。

5. ps コマンドを実行します。コンテナ実行時の「/bin/bash」のPIDが「1」なのを確認します。

6. コンテナを終了します。

24

# docker run -i -t ubuntu:latest /bin/bashroot@27e3c865bd61:/#

# cat /etc/issueUbuntu 16.04.1 LTS ¥n ¥l

# ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 08:09 ? 00:00:00 /bin/bashroot 12 1 0 08:14 ? 00:00:00 ps -efl

root@27e3c865bd61:/# exitexit[root@docker ~]#

レ イ テ ス ト

プロンプトのホスト名はコンテナID

Page 25: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

5. Rancher のセットアップ

25

Page 26: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

5.1 Rancher サーバ用コンテナの起動1. 「rancher-01」上で Rancher サーバを起動します。【 rancher/server 】コンテナを起動します。

2. 「rancher/server」コンテナの起動状態を確認します。

起動すると、画面上のログに以下のような文字列が現れます。Ctrl+C で中断します。

3. ブラウザからホスト「rancher-01」のポート【 8080 】を開きます。

26

# docker run -d --restart=unless-stopped -p 8080:8080 rancher/server

# docker logs -f $(docker ps -lq)

10:06:51.173 [main] INFO ConsoleStatus - [DONE ] [47710ms] Startup Succeeded, Listening on port 8081time="2016-11-07T10:06:51Z" level=info msg="Starting websocket proxy. Listening on [:8080], Proxying to cattle API at [localhost:8081], Monitoring parent pid [7]."

Page 27: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

5.2 Rancher のセキュリティ設定初回設定時は管理画面にパスワードが施されていません。GitHub やユーザ情報を使った認証設定を行う必要があります。ここではユーザのパスワードを設定します。

1. メニューの 【 ADMIN 】 から 【 Access Control 】 を選びます。

27

Page 28: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

2. Access Control の認証方式 【 LOCAL 】をクリックします。

28

Page 29: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3. 「Setup an Admin user」(管理ユーザのセットアップ)の各フォームを入力します。

4. 【 Enable Local Auth 】(ローカル認証の有効化)をクリックします。

29

Page 30: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

5.3 Rancher ホストの登録Rancher サーバに Rancher の管理対象ホストを追加します。ここでは rancher-01 自身を追加しますが、同様の手順で rancher-02 rancher-03 を追加できます。

1. メニューの【 Default 】から【 Default 】をクリックします。

2. 【 Add Host 】をクリックします。

30

Page 31: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3. 「This site’s address」(このサイトのアドレス)が選択された状態のまま、【 Save 】(保存)をクリックします。

31

Page 32: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

4. 次のホスト追加画面では【 Custom 】が選択されたままの状態を確認します。

32

Page 33: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

5. 「4」の入力フォームに【 rancher-01 】の IP アドレスを追加します。

33

Page 34: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

6. 「5」にエージェント起動用スクリプトが表示されますので、コピーボタンをクリックします。コピーしたコマンドはテキスト・エディタに貼り付けます。

7. 【 Close 】をクリックします。

34

Page 35: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

8. ホスト「rancher-01」に SSH ログインした画面を開きます。

9. 先ほどコピーしたホスト追加用コマンドを実行します。

10. メニューの【 INFRASTRUCTURE 】から【 HOSTS 】を選択し、画面上に「rancher-01」が見えるのを確認します(ACTIVE になるまで1分ほどかかります)。ホスト名【 rancher-01 】をクリックすると、詳細なリソースを表示します。

35

# sudo docker run -e CATTLE_AGENT_IP="153.125.225.67" -d --privileged –v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.0.2 http://153.125.225.67:8080/v1/scripts/BBB1DA5F2ADA22912343:1478570400000:BedWByUmUg9ySm4t2Y3ktXile9o

実行例

Page 36: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

6. Rancher でコンテナ実行

36

nginx rocket.chat

Page 37: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

6.1 手動で Nginx コンテナを起動1. メニューの【 STACKS 】から【 User 】をクリックします。

2. 「Default」スタックの【 Add Service 】をクリックします。

37

Page 38: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3. nginx のサービス情報を登録します。

38

Page 39: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

4. ページ下方の【 Create 】をクリックします。

5. 画面が切り替わり「Activating」が「Active」になるまで待ちます。

39

Page 40: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

6. 【 mynginx 】をクリックし、詳細画面を開きます。

7. 【 Ports 】タブをクリックします。

40

Page 41: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

8. 【 IP アドレス 】をクリックすると、ブラウザが http://<rancher-01>:8081/ にアクセスし、Nginx の初期画面を表示するのを確認します。

41

Page 42: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

6.2 カタログで複数コンテナの自動実行手動でサービス登録を行うほかに、複数のコンテナをまとめて起動できるテンプレートのような機能があります。ここでは Rocket.Chat 用のイメージと、Hubot、MongoDB を一括セットアップします。

1. メニューの【 CATALOG 】をクリックします。

2. 検索フォームに【 rocket 】と入力するか、画面上で【 RocketChat 】を探し、【 View Detials 】をクリックします。

42

Page 43: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3. ページ下方の【 Launch 】をクリックします。

4. 全てのコンテナが Active になるまで待ちます。この間、リンク・グラフボタンをクリックすると、コンテナ間の接続状態を確認できます。

43

Page 44: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

5. 画面上の【 rocketchat 】をクリックします。

44

Page 45: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

6. 「Ports」に表示されている【 IP アドレス:3000 】をクリックします。

7. Rocket.Chat が利用可能になります。

45

Page 46: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

7. Rancher ホスト情報の削除

7.1 ユーザ・スタックの削除1. メニューの【 STACKS 】から【 User 】を選びます。

2. 不要なサービスを削除するため、右端のメニューから【 DELETE 】を選択します。

7.2 ホストの削除1. 【 INFRASTRUCTURE 】から【 Hosts 】をクリックします。

2. メニューから【 DEACTIVATE 】を選びます。

3. メニューから【 DELETE 】を選びます。

4. 確認画面で【 DELETE 】をクリックします。

46

Page 47: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

7.3 エージェントの停止1. ホスト「rancher-01」上で【 docker ps 】コマンドを実行します。

2. 「rancher/agent」は不要なので停止します。

47

# docker ps

# docker stop $(docker ps -q --filter name=rancher)

Page 48: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

48

Kubernetes on Rancherハンズオン

Page 49: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

Kubernetes on Rancher 編の目的

Kubernetes のセットアップ方法を学ぶどのように Rancher を操作するのか

各ホスト間はどのような接続状況なのか

サービスの実行方法を学ぶRancher からどのように Kubernetes を管理するのか

可用性の高いウェブサーバを実行するには

49

Page 50: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

8. Kubernetes クラスタの作成準備

50

Page 51: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

8.1 Kubernetes 環境の追加1. メニューの【 Environment Default 】から【 Manage Environments 】をクリックします。

2. 【 Add Environment 】をクリックします。

51

Page 52: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3. 「Container Orchestration」の【 Kubernetes 】をクリックします。

4. 「Name」に【 k8s 】など入力します。

52

Page 53: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

5. 【 Create 】ボタンを押し、環境を追加します。

6. 環境一覧に「kubernetes」があるのを確認します。

53

Page 54: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

8.2 Kubernetes クラスタにホストを追加1. メニューの【 Default 】から【 k8s 】をクリックします。

2. 【 Add Host 】をクリックします。

54

Page 55: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3. ステップ「4」のフォームに【 rancher-01 】の IP アドレスを入力します。

4. ステップ「5」の内容をコピーし、サーバ rancher-01 の SSH 端末上で実行します。

55

# sudo docker run -e CATTLE_AGENT_IP="153.125.225.67" -d --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.0.2 http://153.125.225.67:8080/v1/scripts/C5058B7B2F046CA3839F:1478581200000:Y00XljqZt4T8U936W9gEsbybg

実行例

Page 56: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

5. 約1分ほど待つとか、【 Close 】をクリックします。画面が「Setting up Kubernetes...」約1分ほど待つとか、【 Close 】をクリックします。画面が `Setting up Kubernetes...` と変わり、セットアップが進行します。 と変わり、セットアップが進行します。

6. 画面に「kubernetes」サービスが自動的に表示されます。

56

Page 57: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

7. メニューの 【 INFRASTRUCTURE 】から【 Host 】をクリックします。

8. 【 Add Host 】をクリックします。

9. 【 rancher-02 】と【 rancher-03 】に対しても、手順「2~5」の登録作業を繰り返します。

10. 【 Close 】をクリックして、しばらく待ちます。各サーバでエージェントのログを表示するには、次のコマンドを実行します。

57

# docker logs –f $(docker ps -ql)

Page 58: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

11. ログに「Successfully registered node rancher-xx」が出て、【 INFRASTRUCTURE 】から【 Host 】をクリックし、各ノードの「etcd」が有効になるまで待ちます。

58

Page 59: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

12. これで、3つの Kubernetes ノードは同一ネットワークにつながりました。各ノードの「etcd」の IP アドレスに対して、相互に `ping` が通るのを確認しましょう。

59

[root@rancher-03 ~]# ping 10.42.140.18PING 10.42.140.18 (10.42.140.18) 56(84) bytes of data.64 bytes from 10.42.140.18: icmp_seq=1 ttl=62 time=0.930 ms64 bytes from 10.42.140.18: icmp_seq=2 ttl=62 time=0.562 ms64 bytes from 10.42.140.18: icmp_seq=3 ttl=62 time=0.602 ms

Page 60: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

9. Kubernetes を使う

9.1 カタログでゲストブックを動かす1. メニュー【 CATALOG 】をクリックします。

2. 【 K8s Example Geustbook 】の【 View Details 】をクリックします。

60

Page 61: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

3. ページ下方の【 Launch 】をクリックします。

4. メニュー【 KUBERNETES 】から【 Services 】をクリックします。

5. 【 frontend 】をクリックし、「Pods」が順次作成されるのを確認します。

6. 同様に【 KUBERNETES 】から【 Replication Controller 】と【 Pods 】を確認します。

7. メニューの【 KUBERNETES】から【 System 】をクリックします。

8. 【 kubernetees-loadbalancers 】をクリックします。

61

Page 62: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

9. リンク・グラフボタンをクリックします。

62

Page 63: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

10. 【 lb- 】で始まるアイコンをクリックすると、ゲストブックのポートを確認できます。

63

Page 64: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

11. ゲストブックを確認します。

12. あとは、色々さわってみましょう!

• スケールアウト、スケールイン

• コンテナの停止

• 手動でコンテナ(サービスの追加)

• ロードバランサ(HAproxy)を試す

• Ingress ロードバランサを試す

64

Page 65: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

65

Page 66: Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編

Q&A

66