Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Advertisement

More from Masahito Zembutsu(20)

Advertisement

Docker hands on nifty sakura jul19

  1. クラウドを渡り歩け! さくら×ニフティ 合同ハンズオン勉強会!! Dockerを利用したクラウド間移行のポテンシャル?運用に変化は?みんなで考えよう!! #ncstudy 2014年7月19日(土) 10:00 – 17:00 会場:ニフティ株式会社 セミナールーム (東京新宿)
  2. 今日のハンズオン 北海道 石狩第一ゾーン Dockerhub https://hub.docker.com 東日本 east-1 リージョン 技術検証 Creationline, Inc.
  3. 環境構築資料 Preparation  クラウド準備 1. さくらのクラウド編 10:40 – 11:10 2. ニフティクラウド編 11:10 – 11:40 3. SSH鍵の相互認証 11:40 – 11:50 準備段階として、クラウド上でマシンの起動を 試みます。更に、自分の PC から各クラウドに リモート接続を行い、動作を確認します。 更に、相互のクラウド環境で、SSH 鍵を交換し 互いに行き来できるようにします。
  4. 準備1/3 さくらのクラウド編
  5. さくらのクラウド  http://cloud.sakura.ad.jp/  運営:さくらインターネット株式会社 http://www.sakura.ad.jp/ 料金体系はサーバ料金の みで、データ転送料なし 1台1,900円から お使いのVPSから1クリック でクラウドに移行可能
  6. 「さくらのクラウド」でCoreOS リリース 7月18日よりDocker専用OS、 「CoreOS」に対応いたしま した。 無料クーポンを配りますの で、今日勉強したことを CoreOSを使って復習しま しょう。
  7. さくらのクラウド手順(所要30分)  環境構築手順 ➡ 1. コントロールパネルにアクセス ➡ 2. サーバの起動 ➡ 3. SSH ログインと鍵ペア作成
  8. [1/3] さくらのコントロールパネルにアクセス  https://secure.sakura.ad.jp/cloud/  お配りした、紙に書かれている「アカウ ント」「会員ID」「パスワード」を記入 してください。  記入については 「アカウント名」@「会員ID」 「パスワード」 といった順番です。
  9. [1/3] さくらのコントロールパネルにアクセス  https://secure.sakura.ad.jp/cloud/  このように、 ログイン出来る事を確認します。
  10. [2/3] サーバの起動  【サーバ】→【追加】
  11. [2/3] サーバの起動  所定項目を入力します  名前:画面に表示する管理上の名称
  12. [2/3] サーバの起動  所定項目を入力します  アーカイブ: 【CentOS 6.5 64bit (基本セット)】を選択  ホスト名:内部で使用する名称  パスワード:rootのパスワードです ※ 実際には公開鍵認証も可能ですが、 今回はまず、パスワード指定します。  最後に【作成】を押します
  13. [2/3] サーバの起動  もう一息です  【作成】を押します  あとは作業が進行するのを待ちます
  14. [2/3] サーバの起動  できました!  完了が表示されたら、ここを押します  このようにサーバ情報が表示されます
  15. [2/3] サーバの起動  仕上げに【電源操作】→【起動】  まだ準備が終わった段階 ログインのためには、起動が必要です  【実行】を押します
  16. [2/3] サーバの起動  起動が完了しました  【閉じる】を押します
  17. [3/3] SSHログインと鍵ペア作成  接続先IPアドレスを確認します  【 NIC 】を押します  【 IPv4 】アドレスを控えます
  18. [3/3] SSHログインと鍵ペア作成  TeraTerm 等でログインします  接続先は、先ほど確認した 【IPv4 アドレス】です
  19. [3/3] SSHログインと鍵ペア作成  TeraTerm 等でログインします  接続先は、先ほど確認した 【IPv4 アドレス】です
  20. [3/3] SSHログインと鍵ペア作成  TeraTerm 等でログインします  初回接続時なので警告が出ます
  21. [3/3] SSHログインと鍵ペア作成  TeraTerm 等でログインします  ユーザ名【 root 】と パスワードを入力  【 OK 】を押します
  22. [3/3] SSHログインと鍵ペア作成  root でログインできました  ログインできない場合は、接続先の IP ア ドレスが正しいかどうか確認します。IP アドレスが正常な場合は、パスワードが 正しいかどうかや、パスワード入力に時 間がかかりタイムアウトしていないか確 認します。
  23. [3/3] SSHログインと鍵ペア作成  ssh-keygen で鍵ペアを作成します  【 ssh-keygen 】コマンドを使い、鍵ペア を作成します。パスフレーズの指定も可 能ですが、ここでは作業を分かりやすく するため、空白で作成します。  途中の問い合わせは「すべてエンター」 を押します。
  24. [3/3] SSHログインと鍵ペア作成  公開鍵と秘密鍵を控えます  【 cat ~/.ssh/id_rsa.pub 】で表示される 内容が公開鍵です。 この次で取得する秘密鍵が手元にあれば、 接続先のリモートに公開鍵を置くことで、 SSH 接続時にパスワードではない認証を 行う事ができます。この接続方式が、 SSH 公開鍵認証であり、クラウドの接続 では比較的一般に見受けられます  【 cat ~/.ssh/id_rsa 】で表示される内容 が秘密鍵です 。取り扱いには細心の注意 を払う必要があります。サーバ上に置く 場合は、パーミッションは 600(rw-------) にするなど、配慮が必要です
  25. [3/3] SSHログインと鍵ペア作成  SSH の鍵認証(RSA方式)を試しましょう ➡ 事前 sshd 準備 • # vi /etc/ssh/sshd_config 47 #RSAAuthentication yes 47 RSAAuthentication yes • # service sshd restart ➡ 公開鍵の設置 • # cat .ssh/id_rsa.pub > .ssh/authorized_keys ➡ SSH ログインを試みる • [root@sakura1 ~]# ssh -l root localhost • Last login: Tue Jul 15 13:11:18 2014 from xxx.jp • [root@sakura1 ~]#  自分で自分に対してログインします  初期状態では鍵認証を行えません。コメ ントを削除し、設定ファイルを書き換え たら、sshd の restart を行います  今回は「authorized_keys」に自分自身の 公開鍵を置きました。同様に、接続した いリモートホスト上に authorized_keysを 置くことで、認証が通るようになります
  26. 準備2/3 ニフティクラウド編
  27. ニフティクラウド  http://cloud.nifty.com/  運営:ニフティ株式会社 http://www.nifty.com/
  28. ニフティクラウド手順(所要30分)  環境構築手順 ➡ 1. コントロールパネルにアクセス ➡ 2. サーバの起動 ➡ 3. SSH ログイン
  29. [1/3] ニフティクラウドにアクセス  https://pa.mon.cloud.nifty.com/  【ログインID】と【パスワード】を入力 し、【コントロールパネルにログイン】 を押します
  30.  https://pa.mon.cloud.nifty.com/ [1/3] ニフティクラウドにアクセス  このようにログインできることを確認し ます
  31.  サーバ作成 [2/3] サーバの起動  左メニューの【サーバー】から 【サーバー作成】を選びます
  32.  ゾーン選択 [2/3] サーバの起動  ゾーンは【west-11】を選び、 【イメージ選択へ】をクリックします
  33.  ゾーン選択 [2/3] サーバの起動  ゾーンは【west-11】を選び、 【イメージ選択へ】をクリックします
  34.  イメージ選択 [2/3] サーバの起動  “Ubuntu 12.04 64bit Plain”の 【選択】をクリックします
  35.  サーバ名の入力 [2/3] サーバの起動  任意のサーバ名を入力  【タイプ・料金設定へ】をクリックしま す
  36.  タイプと料金設定 [2/3] サーバの起動  スペックは【mini】  料金コースは【従量】  【アカウント設定へ】をクリックします
  37.  アカウント設定 [2/3] サーバの起動  【SSHキーを新規作成】
  38.  アカウント設定 [2/3] サーバの起動  パスフレーズを入力後、【SSHキーを作 成する】をクリックします
  39.  SSH鍵の取得 [2/3] サーバの起動  ダウンロードしてくださいをクリックし、 【スクリプト設定へへ進みます】  ダウンロードした .pem ファイルが秘密 鍵です
  40.  ファイアウォール設定 [2/3] サーバの起動  今回は【ファイアウォールを適用しな い】を選び、【確認へ】クリックします
  41.  確認 [2/3] サーバの起動  最後に確認して【作成する】をクリック します
  42.  作成開始 [2/3] サーバの起動  作成を開始しましたと表示される  暫く待つと、画面に情報が出てきます。 これで起動完了しました。  ログインするために IP アドレスを控えて おきます
  43.  TeraTerm等でログインします [3/3] SSHログイン  先ほど控えた IP アドレスに接続します
  44.  初回接続の確認 [3/3] SSHログイン
  45.  初回接続の確認 [3/3] SSHログイン  ユーザ名は【 root 】  パスフレーズは【 SSH鍵作成時のもの 】  “Use RSA/DSA/ECDSA …” をクリックし、 【 Private key file: 】で先ほどダウンロー ドした秘密鍵 (~.pem)を指定する。 ※ TeraTerm では「全てのファイルを表 示」にすること。  最後に 【 OK 】をおすと
  46.  Ubuntu 12.04 にログインできました [3/3] SSHログイン
  47. 準備3/3 SSH鍵の相互認証
  48. これまでの鍵の状態  重要な点は「公開鍵」と「秘密鍵」の セットがあればログイン出来るようにな る点です。  さくらのクラウドでは、サーバの中にロ グインして、「公開鍵」と「秘密鍵」の セットを作成しました。  ニフティクラウドでは、クラウド上で サーバを作成する時点で「公開鍵」と 「秘密鍵」のセットを作成し、「秘密 鍵」は自分の PC にダウンロードしました。 秘密鍵2.pem 公開鍵2 (authorized_keys) 公開鍵1 (authorized_keys) 秘密鍵1 id_rsa
  49. 相互の鍵のやりとり:相互 ssh  さくら  ニフティ – さくらの公開鍵 id_rsa.pub を、 ニフティの ‘authorized_keys’ に 入れます  ニフティ -> さくら – 新しく鍵ペアを作成し、 ニフティの公開鍵 id_rsa.pub を さくらの ‘authorized_keys’ に 入れます  この作業の目的は、後ほど Docker 検証の 際に、相互のクラウド間で行き来できる ようにするためです。 秘密鍵2.pem 公開鍵2 (authorized_keys) 公開鍵1 (id_rsa.pub) 秘密鍵1 id_rsa 公開鍵 (authorized_keys) 公開鍵3 (authorized_keys) 公開鍵3 (authorized_keys)秘密鍵3 (id_rsa)
  50. さくらニフティ手順 1. さくら公開鍵をコピー # cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3Nza……8AwAVw== root@sakura 2. ニフティの authorized_keys に追加 # vi ~/.ssh/authorized_keys ファイルの中に「1.」でコピーした内容を入れる 3. さくら  ニフティにログイン  メモ帳などに貼り付けます
  51. [root@sakura2 ~]# ssh 175.184.21.115 The authenticity of host '175.184.21.115 (175.184.21.115)' can't be established. RSA key fingerprint is 4b:51:2a:28:20:9b:ab:c2:61:d2:c7:cc:07:82:db:2c. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '175.184.21.115' (RSA) to the list of known hosts. Enter passphrase for key '/root/.ssh/id_rsa': Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.5.0-23-generic x86_64) * Documentation: https://help.ubuntu.com/ System information as of Fri Jul 18 11:32:03 JST 2014 System load: 0.0 Processes: 68 Usage of /: 5.2% of 27.13GB Users logged in: 1 Memory usage: 29% IP address for eth0: 175.184.21.115 Swap usage: 0% IP address for eth1: 10.100.74.33 Graph this data and manage this system at https://landscape.canonical.com/ 142 packages can be updated. 79 updates are security updates. Last login: Fri Jul 18 10:37:50 2014 from 153.121.40.37 root@ubuntu:~# ssh <ニフティのIPアドレス> 初回接続時に表示、【yes】 パスフレーズ指定時は入力
  52. ニフティさくら手順 1. ニフティの秘密鍵作成 # ssh-keygen 2. ニフティ公開鍵をコピー # cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3Nza……8AwAVw== root@ubuntu 3. さくらの authorized_keys に追加 # vi ~/.ssh/authorized_keys ファイルの中に「2.」でコピーした内容を入れる 4. さくら  ニフティにログイン  メモ帳などに貼り付けます  先ほどと同じ手順です 以上で、ハンズオンの下準備は完了です root@ubuntu:~/.ssh# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: ac:ae:0b:c8:ff:d2:74:7b:c4:cf:d5:a8:c5:b1:32:ac root@ubuntu The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | . . | | S . . = | |.. . o o + * . | |... o o o + * | | .o o . E + | | .=+. . | +-----------------+
  53. クラウド準備編 ~完~
  54. 鯨でもわかるDocker 入門 さぁ、Docker をはじめよう No Docker, No Life @zembutsu Jul 19, 2014 #ncstudy クラウドを渡り歩け! さくら×ニフティ 合同ハンズオン勉強会!! Dockerを利用したクラウド間移行のポテンシャル?運用に変化は?みんなで考えよう!! #ncstudy 2014年7月19日(土) 10:00 – 17:00 会場:ニフティ株式会社 セミナールーム (東京新宿) わかる!! できる!?
  55. 2 Docker 入門 “さぁ、 Docker を始めよう” NO Docker, No Life  目次 1. なぜ Docker なのか? 2. Docker とは何なのか? 3. Dockerで何ができるのか? 4. Docker を使う 技術的な要素ではなく、Dockerは何処で使えて 何が出来るのか?という点が主眼です。
  56. 今日のハンズオン 北海道 石狩第一ゾーン Dockerhub https://hub.docker.com 東日本 east-1 リージョン 技術検証 Creationline, Inc. ハンズオンの資料です。 http://www.zusaar.com/event/14467015
  57. @zembutsu 前佛 雅人 ・Technology Evangelist クリエーションライン株式会社 頭の悪い残念なスライド作りに定評 ←? ・経歴;ホスティングの運用部隊 10年近く, 物理 10,000 台の環境 メインは Linux 系運用監視・サポート 所謂インフラエンジニア的な 運用保守(一次,二次)データセンタ常駐企画営業広報宣伝検証開発 http://slideshare.net/zembutsu 自己紹介 Why am I here?
  58. Docker #とは、業界の侵略者!? WHY DOCKER? 1 「鯨が死ぬか、ボートが沈むか、でーす」
  59. はじめに INTRODUCTION
  60. ?「あーあ、猫も杓子も Docker 、Dockerか」 ?「みな平和なもんや」
  61. あの日見た鯨の名前を 僕達はまだ知らない。 The Docker We Saw That Day
  62. 今日、話すこと 今日、話さないこと ・ 今日話すこと - 鯨はどこから来たのか - 鯨とは何者か - 鯨はどこへ行くのか ・ Docker 技術背景や自動化、監視 - control group - namespace - aufs - devicemapper @enakai00先生の資料や いろいろな所で語られています。 それに自分はさほど詳しくないので、 興味があれば、自分で調べて下さいねっ 「いまからでも遅くはありません。ご覧ください!鯨はあなたを求めてはいません。 やつを狂ったように求めているのは、あなた、あなたなのです!」(白鯨) みなさんと共有する内容 興味があれば、帰って自習して欲しい 「鯨」とは、 dockerであり 我々エンジニア でもある
  63. 理論や技術背景よりも いかに道具として使うか
  64. Docker #とは
  65. Docker エコシステム ( 生態系 ) エコシステムって格好いいけど、事実上の囲い込み、閉鎖系ですよね、あれ
  66. コンテナの歴史 流通革命
  67. ツールとしてのDocker せっかくあるなら使おう
  68. Docker は使えない?
  69. 話は聞かせてもらった 同じ事はクラウドでも聞いた
  70. どこで?いつ使うの? いまでしょ? 使える所があるんだったら、使えば良いのではないでしょうか。
  71. いまそこにある機器 システム 「ヤツはまさに巨大な・・・白い青い悪魔だ・・・!」
  72. Docker 入門 HOW TO USE DOCKER 2 「スターバックの夜食」…鯨を料理しよう
  73. Docker の構造 アーキテクチャ
  74. 技術的な事  @enakai00 さんの資料を読もう! Dockerクイックツアー http://www.slideshare.net/enakai/docker-34526343 Dockerを支える技術 http://www.slideshare.net/enakai/docker-34668707 Inside Docker for Fedora20/RHEL7 http://www.slideshare.net/enakai/docker-technology-v18e ■ 社内勉強会資料 chroot, lxc and docker // Speaker Deck https://speakerdeck.com/d_higuchi/chroot-lxc-and-docker  ありがとうございます! ありがとうございます!
  75. 重要な機能・特長  コンテナを管理するシステム ➡ 軽量・速い ➡ どこでも動く ( Linux 標準 )  レポジトリ ➡ イメージを階層的に管理する • 差分情報の記録 ➡ Dockerhub • イメージの検索 • ダウンロード • 公開
  76. Docker を使う
  77. 事前準備  Dokcer の動くパッケージを入れる ➡ ニフティクラウド # apt-get update # apt-get install -y linux-image-generic-lts-raring linux-headers-generic-lts-raring (略) Setting up linux-headers-generic-lts-raring (3.8.0.44.44) ... Setting up linux-image- generic-lts-raring (3.8.0.44.44) ... # reboot # apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys # sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list“ ➡ apt-get update apt-get install -y lxc-docker
  78. コンテナの管理  docker run # docker run ubuntu /bin/echo ‘hello world’ # docke run centos /bin/echo ‘hello centos’ -i ( interactive , STDIN ) -t ( tty ) --rm ( remove ) ■ docker pull # docker pull centos:latest Pulling repository centos 1a7dc42f78ba: Pulling image (latest) from centos, endpoint: https://cdn-registry-1.docker.1a7dc42f78ba: Download complete 511136ea3c5a: Download complete 34e94e67e63a: Download complete
  79. コンテナ ID・イメージ ID  dokcer ps root@ubuntu:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 31a2629738e9 ubuntu:14.04 /bin/bash 3 minutes ago Exited (0) 2 seconds ago cranky_hypatia 2ad166fc3787 ubuntu:14.04 /bin/bash 7 minutes ago Exited (0) 4 minutes ago hopeful_archimedes ■ docker images root@ubuntu:~# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu-test latest b4e346166aea 10 seconds ago 276.5 MB
  80. commit  コンテナの変更内容を確定 ➡ イメージ化  docker export  docker import
  81. Dockerfile  docker build FROM centos:centos6 MAINTAINER 0.1. NAME, NAME@example.jp RUN echo 'ZONE="Asia/Tokyo"' > /etc/sysconfig/clock RUN rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6 RUN yum -y install httpd RUN echo 'sakura' > /var/www/html/index.html EXPOSE 80 ENTRYPOINT ["/usr/sbin/httpd"] CMD ["-D", "FOREGROUND"]
  82. Docker Hub  役割 ➡ Docker イメージの保管 ➡ 認証 ➡ 自動ビルド ➡ GitHub , BitBuket 投稿
  83. Docker とは何だったのか What was DOCKER 3 「お前がいる限り、私は先に進めない。お前が滅びるか、私が滅びるしかない」
  84. まとめ Docker とは新しい道具
  85. いままで通りでいい? それクラウドでも言えるの?
  86. 未来への道標
  87. Dockerは選択肢の一つ 使えるなら使えば良い
  88. Docker ハンズオン資料 DOCKER HANDS-ON REFERENCE 4 「任しとけ。何をどうやりゃいいのか今はさっぱりだが、任しとけ。」
  89. Hands-On Docker ハンズオン本編
  90. ハンズオンの流れ ■ 目的 実際に docker のインストールを行うほか、 コンテナの作成・管理や、クラウド間の移行が出来るように。 ■内容 ・ ニフティ … Ubuntu 12.04 に Docker をセットアップ ・ さくら … CentOS 6.5 に Docker をセットアップ ・ コンテナを作成し、相互に移動 1. 静的コンテンツ編 ( Apache + HTML ファイル ) 2. 動的コンテンツ編 ( Apache + PHP + PukiWiki )
  91. 1. Dockerのセットアップ (Ubuntu編)  ニフティクラウド上で作業します ➡ 対象サーバに SSH でログイン ➡ Linux kernel のバージョンをあげます # apt-get update # apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring (略) Do you want to continue [Y/n]? y (略) Setting up linux-headers-generic-lts-raring (3.8.0.44.44) ... Setting up linux-image-generic-lts-raring (3.8.0.44.44) ... # reboot  Ubuntu 12.04 は Linux kernel のバージョ ンが古い為、kernel 3.8 以上に上げる必要 があります。
  92. 1. Dockerのセットアップ (Ubuntu編)  reboot後、kernel のバージョンアップを確認 ➡ 対象サーバに SSH でログイン root@ubuntu:~# uname -a Linux ubuntu 3.8.0-44-generic #66~precise1-Ubuntu SMP Tue Jul 15 04:01:04 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux  Docker のセットアップ ➡ # apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.ILmCdlivSB --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary- keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-key ➡ # sh -c "echo deb https://get.docker.io/ubuntu docker main > ¥ /etc/apt/sources.list.d/docker.list"  3.8 であれば正常です
  93. 続きは Web で! ➡ http://qiita.com/zembutsu/private/3a396dd1e9d16193b0ba
Advertisement