SlideShare a Scribd company logo
1 of 66
Download to read offline
Rancher/Kubernetes
入門ハンズオン資料
2016年11月8日(火)
さくらインターネット株式会社
Technology Evangelist 前佛雅人
@zembutsu
第 2 回 さ く ら と コ ン テ ナ の 夕 べ ( さ く ら の 夕 べ 番 外 編 )
2
Rancherハンズオン
3
Rancher ハンズオン編の目的
Rancher のセットアップ方法を学ぶ
どのようにして Rancher サーバを動かすのか
ノードの登録方法を学ぶ
どのようにして複数台のサーバでコンテナ実行クラスタを構築するのか
サービスの実行方法を学ぶ
Nginx のウェブサーバを実行するには?
Rocket.Chat のオンライン・チャットを実行するには?
4
1. さくらのクラウドにログイン
1.1. コントロールパネルの表示
さくらのクラウド http://cloud.sakura.ad.jp/ から をクリックします。
5
1.2. 接続情報の確認
配布資料のログイン情報を入力します。
入力後は をクリックします。
6
2. 仮想サーバの起動と接続
Rancher でクラスタを構成するため、3台の仮想サーバを起動します。
2.1. さくらのクラウドで仮想サーバを起動
1. 【 さくらのクラウド(IaaS) 】をクリックします。
7
2. メニュー【 サーバ 】から【 追加 】をクリックします。
8
3. ディスクイメージは【 CentOS 7.2 64bit 】を使います。
9
4. 「サーバプラン」を【4GB / 2仮想コア】に変更します。「ディスクプラン」はそのままとします。
10
5. 【 管理ユーザのパスワード 】で root パスワードを設定します。
※ 8文字以上の「アルファベット」「数字」「記号」の組み合わせが必要です。
11
6. ホスト名を【 rancher 】、作成数【 3 】として【 作成 】ボタンをクリックします。
12
7. 確認画面では【 作成 】をクリックします。
8. サーバ追加作業が完了するまで待ちます。起動後は【 閉じる 】をクリックします。
9. メニューの【 サーバ 】をクリックし、作成したサーバ「 rancher-01~03 」を確認します。
13
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.67
The 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)? yes
Warning: Permanently added ‘153.125.225.67' (ECDSA) to the list of known hosts.
root@153.125.225.67's password:
[root@rancher-01 ~]#
実行例
ssh コマンドで仮想サーバに接続
接続を許可するので yes
パスワードを入力(画面に表示されません)
3. Docker Engine のセットアップ
15
エ ン ジ ンド ッ カ ー
$ docker
仮想サーバの準備が整いました
Docker コンテナを動かすためには、Docker Engine が必要です
3.1 安定版(stable)の最新バイナリを入れる
1. パッケージを最新に更新します。
2. docker-engine パッケージをセットアップします。
16
# curl -fsSL https://get.docker.com/ | sh
# yum -y update
ヤ ム ワ イ ア ッ プ デ ー ト
ス テ ー ブ ル
3.2. docker サービスの有効化とデーモン起動
1. サービスを有効化(サーバのブート時に自動実行)します。
2. docker デーモンを起動します。
3. バージョン番号を確認します。
17
# systemctl enable docker.service
Created 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.3
API version: 1.24
Go version: go1.6.3
Git commit: 6b644ec
Built:
OS/Arch: linux/amd64
docker コマンドで、クライアントとサーバ両方のバージョン表示
docker デーモンが起動していないと、
サーバ側のバージョンを表示できない
システムシーティーエ
ル
イ ネ ー ブ ル
ス タ ー ト
バ ー ジ ョ ン
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
補足情報:CentOS 7 の場合
Docker を削除するには
1. パッケージ情報を削除します。
2. データ用ディレクトリを削除します。
3. その他、設定ファイル等を置いた場合は、手作業で削除します。
19
# yum –y remove docker-engine
# rm –rf /var/lib/docker
リ ム ー ブ
アールエム
4. docker コマンドの基本操作
20
$ docker
Docker Hub
hello-world
Docker コンテナを実行するには Docker イメージが必要です
Docker(公式)イメージは Docker Hub から取得します
4.1. hello-world コンテナの実行とイメージ確認
1. 【 docker run 】コマンドでコンテナを実行します。
21
# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c04b14da8d14: Pull complete
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: 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 の出力
ド ッ カ ー ラ ン
ド ッ カ ー ラ ン ハ ロ ー ワ ー ル ド
ハ ロ ー ワ ー ル ド
プ ル
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 -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6d47af69a31b hello-world "/hello" 9 minutes ago Exited (0) 9 minutes ago awesome_varahamihira
オプション「-a」は全て(all)のコンテナを表示
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest c54a2cc56cbb 3 months ago 1.848 kB
ピーエス
イ メ ー ジ ズ
4.2. Ubuntu コンテナの実行
hello-world イメージを使ったコンテナ実行は、画面にメッセージを表示するシンプルなもの
でした。次は、サーバのように操作可能な Linux ディストリビューションのコンテナを実行します。
1. 【 docker pull 】コマンドで ubuntu 公式イメージを取得します。
2. ダウンロードしたイメージを【 docker images 】で確認します。
23
# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
6bbedd9b76a4: Pull complete
fc19d60a83f1: Pull complete
de413bb911fd: Pull complete
2879a7ad3144: Pull complete
668604fde02e: Pull complete
Digest: sha256:2d44ae143feeb36f4c898d32ed2ab2dffeb3a573d2d8928646dfc9cb7deb1315
Status: Downloaded newer image for ubuntu:lates
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest f753707788c5 2 weeks ago 127.1 MB
hello-world latest c54a2cc56cbb 3 months ago 1.848 kB
プ ル
3. ubuntu:latest コンテナを実行します(コロン「:」記号の後ろはタグ)。
4. Ubuntu のバージョンを確認します。
5. ps コマンドを実行します。コンテナ実行時の「/bin/bash」のPIDが「1」なのを確認します。
6. コンテナを終了します。
24
# docker run -i -t ubuntu:latest /bin/bash
root@27e3c865bd61:/#
# cat /etc/issue
Ubuntu 16.04.1 LTS ¥n ¥l
# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 08:09 ? 00:00:00 /bin/bash
root 12 1 0 08:14 ? 00:00:00 ps -efl
root@27e3c865bd61:/# exit
exit
[root@docker ~]#
レ イ テ ス ト
プロンプトのホスト名はコンテナID
5. Rancher のセットアップ
25
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 8081
time="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]."
5.2 Rancher のセキュリティ設定
初回設定時は管理画面にパスワードが施されていません。GitHub やユーザ情報を使った認証設定
を行う必要があります。ここではユーザのパスワードを設定します。
1. メニューの 【 ADMIN 】 から 【 Access Control 】 を選びます。
27
2. Access Control の認証方式 【 LOCAL 】をクリックします。
28
3. 「Setup an Admin user」(管理ユーザのセットアップ)の各フォームを入力します。
4. 【 Enable Local Auth 】(ローカル認証の有効化)をクリックします。
29
5.3 Rancher ホストの登録
Rancher サーバに Rancher の管理対象ホストを追加します。ここでは rancher-01 自身を追加しま
すが、同様の手順で rancher-02 rancher-03 を追加できます。
1. メニューの【 Default 】から【 Default 】をクリックします。
2. 【 Add Host 】をクリックします。
30
3. 「This site’s address」(このサイトのアドレス)が選択された状態のまま、【 Save 】(保存)を
クリックします。
31
4. 次のホスト追加画面では【 Custom 】が選択されたままの状態を確認します。
32
5. 「4」の入力フォームに【 rancher-01 】の IP アドレスを追加します。
33
6. 「5」にエージェント起動用スクリプトが表示されますので、コピーボタンをクリックします。
コピーしたコマンドはテキスト・エディタに貼り付けます。
7. 【 Close 】をクリックします。
34
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
実行例
6. Rancher でコンテナ実行
36
nginx rocket.chat
6.1 手動で Nginx コンテナを起動
1. メニューの【 STACKS 】から【 User 】をクリックします。
2. 「Default」スタックの【 Add Service 】をクリックします。
37
3. nginx のサービス情報を登録します。
38
4. ページ下方の【 Create 】をクリックします。
5. 画面が切り替わり「Activating」が「Active」になるまで待ちます。
39
6. 【 mynginx 】をクリックし、詳細画面を開きます。
7. 【 Ports 】タブをクリックします。
40
8. 【 IP アドレス 】をクリックすると、ブラウザが http://<rancher-01>:8081/ にアクセスし、Nginx
の初期画面を表示するのを確認します。
41
6.2 カタログで複数コンテナの自動実行
手動でサービス登録を行うほかに、複数のコンテナをまとめて起動できるテンプレートのような機能が
あります。ここでは Rocket.Chat 用のイメージと、Hubot、MongoDB を一括セットアップします。
1. メニューの【 CATALOG 】をクリックします。
2. 検索フォームに【 rocket 】と入力するか、画面上で【 RocketChat 】を探し、【 View Detials 】を
クリックします。
42
3. ページ下方の【 Launch 】をクリックします。
4. 全てのコンテナが Active になるまで待ちます。この間、リンク・グラフボタンをクリックすると、
コンテナ間の接続状態を確認できます。
43
5. 画面上の【 rocketchat 】をクリックします。
44
6. 「Ports」に表示されている【 IP アドレス:3000 】をクリックします。
7. Rocket.Chat が利用可能になります。
45
7. Rancher ホスト情報の削除
7.1 ユーザ・スタックの削除
1. メニューの【 STACKS 】から【 User 】を選びます。
2. 不要なサービスを削除するため、右端のメニューから【 DELETE 】を選択します。
7.2 ホストの削除
1. 【 INFRASTRUCTURE 】から【 Hosts 】をクリックします。
2. メニューから【 DEACTIVATE 】を選びます。
3. メニューから【 DELETE 】を選びます。
4. 確認画面で【 DELETE 】をクリックします。
46
7.3 エージェントの停止
1. ホスト「rancher-01」上で【 docker ps 】コマンドを実行します。
2. 「rancher/agent」は不要なので停止します。
47
# docker ps
# docker stop $(docker ps -q --filter name=rancher)
48
Kubernetes on Rancher
ハンズオン
Kubernetes on Rancher 編の目的
Kubernetes のセットアップ方法を学ぶ
どのように Rancher を操作するのか
各ホスト間はどのような接続状況なのか
サービスの実行方法を学ぶ
Rancher からどのように Kubernetes を管理するのか
可用性の高いウェブサーバを実行するには
49
8. Kubernetes クラスタの作成準備
50
8.1 Kubernetes 環境の追加
1. メニューの【 Environment Default 】から【 Manage Environments 】をクリックします。
2. 【 Add Environment 】をクリックします。
51
3. 「Container Orchestration」の【 Kubernetes 】をクリックします。
4. 「Name」に【 k8s 】など入力します。
52
5. 【 Create 】ボタンを押し、環境を追加します。
6. 環境一覧に「kubernetes」があるのを確認します。
53
8.2 Kubernetes クラスタにホストを追加
1. メニューの【 Default 】から【 k8s 】をクリックします。
2. 【 Add Host 】をクリックします。
54
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
実行例
5. 約1分ほど待つとか、【 Close 】をクリックします。画面が「Setting up Kubernetes...」約1分ほど
待つとか、【 Close 】をクリックします。画面が `Setting up Kubernetes...` と変わり、セット
アップが進行します。 と変わり、セットアップが進行します。
6. 画面に「kubernetes」サービスが自動的に表示されます。
56
7. メニューの 【 INFRASTRUCTURE 】から【 Host 】をクリックします。
8. 【 Add Host 】をクリックします。
9. 【 rancher-02 】と【 rancher-03 】に対しても、手順「2~5」の登録作業を繰り返します。
10. 【 Close 】をクリックして、しばらく待ちます。各サーバでエージェントのログを表示するには、次の
コマンドを実行します。
57
# docker logs –f $(docker ps -ql)
11. ログに「Successfully registered node rancher-xx」が出て、【 INFRASTRUCTURE 】から
【 Host 】をクリックし、各ノードの「etcd」が有効になるまで待ちます。
58
12. これで、3つの Kubernetes ノードは同一ネットワークにつながりました。各ノードの「etcd」の IP
アドレスに対して、相互に `ping` が通るのを確認しましょう。
59
[root@rancher-03 ~]# ping 10.42.140.18
PING 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 ms
64 bytes from 10.42.140.18: icmp_seq=2 ttl=62 time=0.562 ms
64 bytes from 10.42.140.18: icmp_seq=3 ttl=62 time=0.602 ms
9. Kubernetes を使う
9.1 カタログでゲストブックを動かす
1. メニュー【 CATALOG 】をクリックします。
2. 【 K8s Example Geustbook 】の【 View Details 】をクリックします。
60
3. ページ下方の【 Launch 】をクリックします。
4. メニュー【 KUBERNETES 】から【 Services 】をクリックします。
5. 【 frontend 】をクリックし、「Pods」が順次作成されるのを確認します。
6. 同様に【 KUBERNETES 】から【 Replication Controller 】と【 Pods 】を確認します。
7. メニューの【 KUBERNETES】から【 System 】をクリックします。
8. 【 kubernetees-loadbalancers 】をクリックします。
61
9. リンク・グラフボタンをクリックします。
62
10. 【 lb- 】で始まるアイコンをクリックすると、ゲストブックのポートを確認できます。
63
11. ゲストブックを確認します。
12. あとは、色々さわってみましょう!
• スケールアウト、スケールイン
• コンテナの停止
• 手動でコンテナ(サービスの追加)
• ロードバランサ(HAproxy)を試す
• Ingress ロードバランサを試す
64
65
Q&A
66

More Related Content

What's hot

Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)NTT DATA Technology & Innovation
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるKohei Tokunaga
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術Etsuji Nakai
 
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念Masahito Zembutsu
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Masahito Zembutsu
 
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Masahito Zembutsu
 
Dockerクイックツアー
DockerクイックツアーDockerクイックツアー
DockerクイックツアーEtsuji Nakai
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルMasahito Zembutsu
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService PrincipalToru Makabe
 
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!Masahito Zembutsu
 
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
そろそろ知っておきたい!!コンテナ技術とDockerのキホンそろそろ知っておきたい!!コンテナ技術とDockerのキホン
そろそろ知っておきたい!!コンテナ技術と DockerのキホンNaoki Nagazumi
 
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までDocker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までMasahito Zembutsu
 

What's hot (20)

Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解
 
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
 
Dockerクイックツアー
DockerクイックツアーDockerクイックツアー
Dockerクイックツアー
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
 
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
そろそろ知っておきたい!!コンテナ技術とDockerのキホンそろそろ知っておきたい!!コンテナ技術とDockerのキホン
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
 
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までDocker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 

Viewers also liked

Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるRancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるMichitaka Terada
 
Rancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancher
Rancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancherRancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancher
Rancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancherTetsurou Yano
 
コンテナで作れるFaaS
コンテナで作れるFaaSコンテナで作れるFaaS
コンテナで作れるFaaS真吾 吉田
 
プログラミング教育の基礎知識
プログラミング教育の基礎知識プログラミング教育の基礎知識
プログラミング教育の基礎知識Masahito Zembutsu
 
インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門Masahito Zembutsu
 
Docker volume基礎/Project Longhorn紹介
Docker volume基礎/Project Longhorn紹介Docker volume基礎/Project Longhorn紹介
Docker volume基礎/Project Longhorn紹介Masahito Zembutsu
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみたKazuto Kusama
 
Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~
Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~
Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~Masataka Tsukamoto
 
DockerとKubernetesが作る未来
DockerとKubernetesが作る未来DockerとKubernetesが作る未来
DockerとKubernetesが作る未来Kazuto Kusama
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Masahito Zembutsu
 
Docker 17.06 Updates 最近何が変わったの?
Docker 17.06 Updates 最近何が変わったの?Docker 17.06 Updates 最近何が変わったの?
Docker 17.06 Updates 最近何が変わったの?Masahito Zembutsu
 
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-Masahito Zembutsu
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Works Applications
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Masahito Zembutsu
 

Viewers also liked (14)

Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるRancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げる
 
Rancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancher
Rancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancherRancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancher
Rancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancher
 
コンテナで作れるFaaS
コンテナで作れるFaaSコンテナで作れるFaaS
コンテナで作れるFaaS
 
プログラミング教育の基礎知識
プログラミング教育の基礎知識プログラミング教育の基礎知識
プログラミング教育の基礎知識
 
インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門
 
Docker volume基礎/Project Longhorn紹介
Docker volume基礎/Project Longhorn紹介Docker volume基礎/Project Longhorn紹介
Docker volume基礎/Project Longhorn紹介
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみた
 
Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~
Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~
Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~
 
DockerとKubernetesが作る未来
DockerとKubernetesが作る未来DockerとKubernetesが作る未来
DockerとKubernetesが作る未来
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
 
Docker 17.06 Updates 最近何が変わったの?
Docker 17.06 Updates 最近何が変わったの?Docker 17.06 Updates 最近何が変わったの?
Docker 17.06 Updates 最近何が変わったの?
 
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 

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

Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Masahito Zembutsu
 
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンJAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンRyo Nakamaru
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspecTsuyoshi Yamada
 
Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎Daisuke Hiraoka
 
Dockerハンズオン
DockerハンズオンDockerハンズオン
DockerハンズオンKazuyuki Mori
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDockerMasashi Shinbara
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみようHiroaki_UKAJI
 
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Naoki Nagazumi
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話Masaki Kobayashi
 
RancherでMesosクラスタをデプロイしてみる的ななにか
RancherでMesosクラスタをデプロイしてみる的ななにかRancherでMesosクラスタをデプロイしてみる的ななにか
RancherでMesosクラスタをデプロイしてみる的ななにかMasataka Tsukamoto
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例maebashi
 
ゆるふわなDockerの使い方
ゆるふわなDockerの使い方ゆるふわなDockerの使い方
ゆるふわなDockerの使い方Kento Aoyama
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Masahiro Nagano
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築Saito5656
 

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

Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンJAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオン
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspec
 
hbstudy37 doc
hbstudy37 dochbstudy37 doc
hbstudy37 doc
 
Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎
 
Dockerハンズオン
DockerハンズオンDockerハンズオン
Dockerハンズオン
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみよう
 
Docker社内勉強会
Docker社内勉強会Docker社内勉強会
Docker社内勉強会
 
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
 
RancherでMesosクラスタをデプロイしてみる的ななにか
RancherでMesosクラスタをデプロイしてみる的ななにかRancherでMesosクラスタをデプロイしてみる的ななにか
RancherでMesosクラスタをデプロイしてみる的ななにか
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
ゆるふわなDockerの使い方
ゆるふわなDockerの使い方ゆるふわなDockerの使い方
ゆるふわなDockerの使い方
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
 

More from Masahito Zembutsu

忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜Masahito Zembutsu
 
自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GAMasahito Zembutsu
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討Masahito Zembutsu
 
さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19Masahito Zembutsu
 
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」Masahito Zembutsu
 
インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話Masahito Zembutsu
 
3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」Masahito Zembutsu
 
ようこそオンラインの展示会場へ
ようこそオンラインの展示会場へようこそオンラインの展示会場へ
ようこそオンラインの展示会場へMasahito Zembutsu
 
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020Masahito Zembutsu
 
オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編Masahito Zembutsu
 
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Masahito Zembutsu
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
クリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしようクリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしようMasahito Zembutsu
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19os2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19osMasahito Zembutsu
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and KnativeMasahito Zembutsu
 
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)Masahito Zembutsu
 

More from Masahito Zembutsu (20)

忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
 
自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
 
さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19
 
Docker Chronicle 2021.09
Docker Chronicle  2021.09Docker Chronicle  2021.09
Docker Chronicle 2021.09
 
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
 
インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話
 
3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」
 
ようこそオンラインの展示会場へ
ようこそオンラインの展示会場へようこそオンラインの展示会場へ
ようこそオンラインの展示会場へ
 
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
 
オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編
 
Jitsi Meetとは?
Jitsi Meetとは?Jitsi Meetとは?
Jitsi Meetとは?
 
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
クリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしようクリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしよう
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19os2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19os
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
 
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
 

Recently uploaded

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (8)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

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

  • 3. 3
  • 4. Rancher ハンズオン編の目的 Rancher のセットアップ方法を学ぶ どのようにして Rancher サーバを動かすのか ノードの登録方法を学ぶ どのようにして複数台のサーバでコンテナ実行クラスタを構築するのか サービスの実行方法を学ぶ Nginx のウェブサーバを実行するには? Rocket.Chat のオンライン・チャットを実行するには? 4
  • 7. 2. 仮想サーバの起動と接続 Rancher でクラスタを構成するため、3台の仮想サーバを起動します。 2.1. さくらのクラウドで仮想サーバを起動 1. 【 さくらのクラウド(IaaS) 】をクリックします。 7
  • 8. 2. メニュー【 サーバ 】から【 追加 】をクリックします。 8
  • 9. 3. ディスクイメージは【 CentOS 7.2 64bit 】を使います。 9
  • 10. 4. 「サーバプラン」を【4GB / 2仮想コア】に変更します。「ディスクプラン」はそのままとします。 10
  • 11. 5. 【 管理ユーザのパスワード 】で root パスワードを設定します。 ※ 8文字以上の「アルファベット」「数字」「記号」の組み合わせが必要です。 11
  • 12. 6. ホスト名を【 rancher 】、作成数【 3 】として【 作成 】ボタンをクリックします。 12
  • 13. 7. 確認画面では【 作成 】をクリックします。 8. サーバ追加作業が完了するまで待ちます。起動後は【 閉じる 】をクリックします。 9. メニューの【 サーバ 】をクリックし、作成したサーバ「 rancher-01~03 」を確認します。 13
  • 14. 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.67 The 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)? yes Warning: Permanently added ‘153.125.225.67' (ECDSA) to the list of known hosts. root@153.125.225.67's password: [root@rancher-01 ~]# 実行例 ssh コマンドで仮想サーバに接続 接続を許可するので yes パスワードを入力(画面に表示されません)
  • 15. 3. Docker Engine のセットアップ 15 エ ン ジ ンド ッ カ ー $ docker 仮想サーバの準備が整いました Docker コンテナを動かすためには、Docker Engine が必要です
  • 16. 3.1 安定版(stable)の最新バイナリを入れる 1. パッケージを最新に更新します。 2. docker-engine パッケージをセットアップします。 16 # curl -fsSL https://get.docker.com/ | sh # yum -y update ヤ ム ワ イ ア ッ プ デ ー ト ス テ ー ブ ル
  • 17. 3.2. docker サービスの有効化とデーモン起動 1. サービスを有効化(サーバのブート時に自動実行)します。 2. docker デーモンを起動します。 3. バージョン番号を確認します。 17 # systemctl enable docker.service Created 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.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: OS/Arch: linux/amd64 docker コマンドで、クライアントとサーバ両方のバージョン表示 docker デーモンが起動していないと、 サーバ側のバージョンを表示できない システムシーティーエ ル イ ネ ー ブ ル ス タ ー ト バ ー ジ ョ ン
  • 18. 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
  • 19. 補足情報:CentOS 7 の場合 Docker を削除するには 1. パッケージ情報を削除します。 2. データ用ディレクトリを削除します。 3. その他、設定ファイル等を置いた場合は、手作業で削除します。 19 # yum –y remove docker-engine # rm –rf /var/lib/docker リ ム ー ブ アールエム
  • 20. 4. docker コマンドの基本操作 20 $ docker Docker Hub hello-world Docker コンテナを実行するには Docker イメージが必要です Docker(公式)イメージは Docker Hub から取得します
  • 21. 4.1. hello-world コンテナの実行とイメージ確認 1. 【 docker run 】コマンドでコンテナを実行します。 21 # docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world c04b14da8d14: Pull complete Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9 Status: 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 の出力 ド ッ カ ー ラ ン ド ッ カ ー ラ ン ハ ロ ー ワ ー ル ド ハ ロ ー ワ ー ル ド プ ル
  • 22. 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 -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6d47af69a31b hello-world "/hello" 9 minutes ago Exited (0) 9 minutes ago awesome_varahamihira オプション「-a」は全て(all)のコンテナを表示 # docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest c54a2cc56cbb 3 months ago 1.848 kB ピーエス イ メ ー ジ ズ
  • 23. 4.2. Ubuntu コンテナの実行 hello-world イメージを使ったコンテナ実行は、画面にメッセージを表示するシンプルなもの でした。次は、サーバのように操作可能な Linux ディストリビューションのコンテナを実行します。 1. 【 docker pull 】コマンドで ubuntu 公式イメージを取得します。 2. ダウンロードしたイメージを【 docker images 】で確認します。 23 # docker pull ubuntu Using default tag: latest latest: Pulling from library/ubuntu 6bbedd9b76a4: Pull complete fc19d60a83f1: Pull complete de413bb911fd: Pull complete 2879a7ad3144: Pull complete 668604fde02e: Pull complete Digest: sha256:2d44ae143feeb36f4c898d32ed2ab2dffeb3a573d2d8928646dfc9cb7deb1315 Status: Downloaded newer image for ubuntu:lates # docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest f753707788c5 2 weeks ago 127.1 MB hello-world latest c54a2cc56cbb 3 months ago 1.848 kB プ ル
  • 24. 3. ubuntu:latest コンテナを実行します(コロン「:」記号の後ろはタグ)。 4. Ubuntu のバージョンを確認します。 5. ps コマンドを実行します。コンテナ実行時の「/bin/bash」のPIDが「1」なのを確認します。 6. コンテナを終了します。 24 # docker run -i -t ubuntu:latest /bin/bash root@27e3c865bd61:/# # cat /etc/issue Ubuntu 16.04.1 LTS ¥n ¥l # ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 08:09 ? 00:00:00 /bin/bash root 12 1 0 08:14 ? 00:00:00 ps -efl root@27e3c865bd61:/# exit exit [root@docker ~]# レ イ テ ス ト プロンプトのホスト名はコンテナID
  • 26. 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 8081 time="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]."
  • 27. 5.2 Rancher のセキュリティ設定 初回設定時は管理画面にパスワードが施されていません。GitHub やユーザ情報を使った認証設定 を行う必要があります。ここではユーザのパスワードを設定します。 1. メニューの 【 ADMIN 】 から 【 Access Control 】 を選びます。 27
  • 28. 2. Access Control の認証方式 【 LOCAL 】をクリックします。 28
  • 29. 3. 「Setup an Admin user」(管理ユーザのセットアップ)の各フォームを入力します。 4. 【 Enable Local Auth 】(ローカル認証の有効化)をクリックします。 29
  • 30. 5.3 Rancher ホストの登録 Rancher サーバに Rancher の管理対象ホストを追加します。ここでは rancher-01 自身を追加しま すが、同様の手順で rancher-02 rancher-03 を追加できます。 1. メニューの【 Default 】から【 Default 】をクリックします。 2. 【 Add Host 】をクリックします。 30
  • 31. 3. 「This site’s address」(このサイトのアドレス)が選択された状態のまま、【 Save 】(保存)を クリックします。 31
  • 32. 4. 次のホスト追加画面では【 Custom 】が選択されたままの状態を確認します。 32
  • 33. 5. 「4」の入力フォームに【 rancher-01 】の IP アドレスを追加します。 33
  • 35. 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 実行例
  • 37. 6.1 手動で Nginx コンテナを起動 1. メニューの【 STACKS 】から【 User 】をクリックします。 2. 「Default」スタックの【 Add Service 】をクリックします。 37
  • 39. 4. ページ下方の【 Create 】をクリックします。 5. 画面が切り替わり「Activating」が「Active」になるまで待ちます。 39
  • 40. 6. 【 mynginx 】をクリックし、詳細画面を開きます。 7. 【 Ports 】タブをクリックします。 40
  • 41. 8. 【 IP アドレス 】をクリックすると、ブラウザが http://<rancher-01>:8081/ にアクセスし、Nginx の初期画面を表示するのを確認します。 41
  • 42. 6.2 カタログで複数コンテナの自動実行 手動でサービス登録を行うほかに、複数のコンテナをまとめて起動できるテンプレートのような機能が あります。ここでは Rocket.Chat 用のイメージと、Hubot、MongoDB を一括セットアップします。 1. メニューの【 CATALOG 】をクリックします。 2. 検索フォームに【 rocket 】と入力するか、画面上で【 RocketChat 】を探し、【 View Detials 】を クリックします。 42
  • 43. 3. ページ下方の【 Launch 】をクリックします。 4. 全てのコンテナが Active になるまで待ちます。この間、リンク・グラフボタンをクリックすると、 コンテナ間の接続状態を確認できます。 43
  • 44. 5. 画面上の【 rocketchat 】をクリックします。 44
  • 45. 6. 「Ports」に表示されている【 IP アドレス:3000 】をクリックします。 7. Rocket.Chat が利用可能になります。 45
  • 46. 7. Rancher ホスト情報の削除 7.1 ユーザ・スタックの削除 1. メニューの【 STACKS 】から【 User 】を選びます。 2. 不要なサービスを削除するため、右端のメニューから【 DELETE 】を選択します。 7.2 ホストの削除 1. 【 INFRASTRUCTURE 】から【 Hosts 】をクリックします。 2. メニューから【 DEACTIVATE 】を選びます。 3. メニューから【 DELETE 】を選びます。 4. 確認画面で【 DELETE 】をクリックします。 46
  • 47. 7.3 エージェントの停止 1. ホスト「rancher-01」上で【 docker ps 】コマンドを実行します。 2. 「rancher/agent」は不要なので停止します。 47 # docker ps # docker stop $(docker ps -q --filter name=rancher)
  • 49. Kubernetes on Rancher 編の目的 Kubernetes のセットアップ方法を学ぶ どのように Rancher を操作するのか 各ホスト間はどのような接続状況なのか サービスの実行方法を学ぶ Rancher からどのように Kubernetes を管理するのか 可用性の高いウェブサーバを実行するには 49
  • 51. 8.1 Kubernetes 環境の追加 1. メニューの【 Environment Default 】から【 Manage Environments 】をクリックします。 2. 【 Add Environment 】をクリックします。 51
  • 52. 3. 「Container Orchestration」の【 Kubernetes 】をクリックします。 4. 「Name」に【 k8s 】など入力します。 52
  • 53. 5. 【 Create 】ボタンを押し、環境を追加します。 6. 環境一覧に「kubernetes」があるのを確認します。 53
  • 54. 8.2 Kubernetes クラスタにホストを追加 1. メニューの【 Default 】から【 k8s 】をクリックします。 2. 【 Add Host 】をクリックします。 54
  • 55. 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 実行例
  • 56. 5. 約1分ほど待つとか、【 Close 】をクリックします。画面が「Setting up Kubernetes...」約1分ほど 待つとか、【 Close 】をクリックします。画面が `Setting up Kubernetes...` と変わり、セット アップが進行します。 と変わり、セットアップが進行します。 6. 画面に「kubernetes」サービスが自動的に表示されます。 56
  • 57. 7. メニューの 【 INFRASTRUCTURE 】から【 Host 】をクリックします。 8. 【 Add Host 】をクリックします。 9. 【 rancher-02 】と【 rancher-03 】に対しても、手順「2~5」の登録作業を繰り返します。 10. 【 Close 】をクリックして、しばらく待ちます。各サーバでエージェントのログを表示するには、次の コマンドを実行します。 57 # docker logs –f $(docker ps -ql)
  • 58. 11. ログに「Successfully registered node rancher-xx」が出て、【 INFRASTRUCTURE 】から 【 Host 】をクリックし、各ノードの「etcd」が有効になるまで待ちます。 58
  • 59. 12. これで、3つの Kubernetes ノードは同一ネットワークにつながりました。各ノードの「etcd」の IP アドレスに対して、相互に `ping` が通るのを確認しましょう。 59 [root@rancher-03 ~]# ping 10.42.140.18 PING 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 ms 64 bytes from 10.42.140.18: icmp_seq=2 ttl=62 time=0.562 ms 64 bytes from 10.42.140.18: icmp_seq=3 ttl=62 time=0.602 ms
  • 60. 9. Kubernetes を使う 9.1 カタログでゲストブックを動かす 1. メニュー【 CATALOG 】をクリックします。 2. 【 K8s Example Geustbook 】の【 View Details 】をクリックします。 60
  • 61. 3. ページ下方の【 Launch 】をクリックします。 4. メニュー【 KUBERNETES 】から【 Services 】をクリックします。 5. 【 frontend 】をクリックし、「Pods」が順次作成されるのを確認します。 6. 同様に【 KUBERNETES 】から【 Replication Controller 】と【 Pods 】を確認します。 7. メニューの【 KUBERNETES】から【 System 】をクリックします。 8. 【 kubernetees-loadbalancers 】をクリックします。 61
  • 63. 10. 【 lb- 】で始まるアイコンをクリックすると、ゲストブックのポートを確認できます。 63
  • 64. 11. ゲストブックを確認します。 12. あとは、色々さわってみましょう! • スケールアウト、スケールイン • コンテナの停止 • 手動でコンテナ(サービスの追加) • ロードバランサ(HAproxy)を試す • Ingress ロードバランサを試す 64
  • 65. 65