Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hatoba(β)を使ってみた

706 views

Published on

ニフクラで用意されたk8sサービス、Hatoba(β)を最速で触ってみた話です。
出オチ感満載なので、あまり期待しないでください

Published in: Engineering
  • Be the first to comment

Hatoba(β)を使ってみた

  1. 1. Hatoba(β)を使ってみた 日本仮想化技術株式会社 代表取締役社長兼CEO 宮原 徹 miyahara@VirtualTech.jp
  2. 2. 自己紹介 • 本名:宮原 徹 • 1972年1月 神奈川県生まれ • 1994年3月 中央大学法学部法律学科卒業 • 1994年4月 日本オラクル株式会社入社 – PCサーバ向けRDBMS製品マーケティングに従事 – Linux版Oracle8の日本市場向け出荷に貢献 • 2000年3月 株式会社デジタルデザイン 東京支社長および株 式会社アクアリウムコンピューター 代表取締役社長に就任 – 2000年6月 (株)デジタルデザイン、ナスダック・ジャパン上場 (4764) • 2001年1月 株式会社びぎねっと 設立 • 2006年12月 日本仮想化技術株式会社 設立 • 2008年10月 IPA「日本OSS貢献者賞」受賞 • 2009年10月 日中韓OSSアワード 「特別貢献賞」受賞 2
  3. 3. 日本仮想化技術株式会社 概要 • 社名:日本仮想化技術株式会社 – 英語名:VirtualTech Japan Inc. – 略称:日本仮想化技術/VTJ • 設立:2006年12月 • 資本金:3,000万円 • 売上高:11,293万円(2018年7月期) • 本社:東京都渋谷区渋谷1-8-1 • 取締役:宮原 徹(代表取締役社長兼CEO) • 伊藤 宏通(取締役CTO) • スタッフ:9名(うち、7名が仮想化技術専門エンジニアです) • URL:http://VirtualTech.jp/ • 仮想化技術に関する研究および開発 – 仮想化技術に関する各種調査 – 仮想化技術を導入したシステムの構築・運用サポート – OpenStackの導入支援・新規機能開発・運用サポート – 自動化・DevOps支援 ベンダーニュートラルな 独立系仮想化技術の エキスパート集団 3
  4. 4. 会社の宣伝ポイント • ニフクラのパートナーです – 業務としてニフクラをご案内できます • VMware関係のソリューションの取り扱い は10年以上あります – VMware関連書籍も複数出版しています • 既存環境の移行・統合から新規システム 構築、運用保守のご支援まで行えます – 大規模から小規模まで – OSS活用や自動化に特に力を入れています
  5. 5. Hatoba(β)に申し込み • ニフクラにKaaSが! • 速攻で申し込み!! – ユーザーIDが必要ですから確認しましょう • しばらくしたらOKメールが • ログインすると、ダッシュボードからHatoba (β)が選べるようになります • とりあえず、マニュアルを見ないでやって みましょう(ダメなパターン)
  6. 6. ダッシュボード画面
  7. 7. クラスターを作成してみる • 「基本設定」で諸元入力 • 「ファイアーウォールグループ」が選択でき ない、選択しないと進めない • コンピューティングに戻ってファイアー ウォールグループを作ってみる • 選択できない!?
  8. 8. Hatobaは別物です • east-1リージョンにいるけど、コンピューティ ングとは別物 • 当然、ファイアーウォールグループも別物 です • Hatoba側でファイアーウォールグループを 作ってください
  9. 9. 得られた教訓 マニュアル読め
  10. 10. 正しい手順 1. Hatobaのダッシュボードに切り替える 2. ファイアーウォールグループを作成する 3. クラスタを作成する 以上 あれ、どう使うんだ?
  11. 11. クレデンシャル表示 いじっているうちに発見した
  12. 12. でも待てよ? • こんなことが書いてある • 別途クライアントを用意して、kubectlを使え るようにしないといけないんだ!?
  13. 13. 得られた教訓 とりあえず スモール環境ぐらい 自分で作ってから KaaSに行こう
  14. 14. ニフクラにk8sを入れてみた 日本仮想化技術株式会社 代表取締役社長兼CEO 宮原 徹 miyahara@VirtualTech.jp
  15. 15. この資料は • 昨年12月のニフクラミートアップに合わせ て大急ぎで作ったものです • 基本的に手順は変わらないはずですが、 最近検証していません • やってみて、うまくいかないところがあれば 教えてください
  16. 16. ニフクラにk8sを入れる時のポイント • ニフクラで用意されているUbuntuイメージ のちょっとした違いに対応 • 手順自体は特別なところは無し • 本格的な運用をするには複数ノードでの動 作を考える必要がある
  17. 17. ニフクラのUbuntuのDNS設定 • ニフクラはローカルでBINDが動作しており、 /etc/resolv.confが127.0.0.1を参照している • このままだとk8sのCoreDNS Podがループ してしまうので、設定変更が必要 – https://coredns.io/plugins/loop/#troubleshooting – 今回は手っ取り早くDNSの参照先を外部に変 更することにする
  18. 18. ニフクラのUbuntuのUFW設定 • デフォルトではUFW(Uncomplicated FireWall)が動作している – SSHのみ受け入れの設定 • 今回は手っ取り早くUFWを停止する
  19. 19. k8sの導入手順 1. スワップの無効化 2. DNS参照先の変更 3. UFWの無効化 4. アップデートと再起動 5. Dockerのインストールと有効化 6. kubeadmのインストール
  20. 20. スワップの無効化とDNS変更 #スワップの無効化 sed -i -e 's/^UUID.*swap.*$/#&/' /etc/fstab #DNS参照先の変更 sed -i -e 's/#DNS=/DNS=8.8.8.8/g' /etc/systemd/resolved.conf systemctl restart systemd- resolved.service ln -s -f /run/systemd/resolve/stub- resolv.conf /etc/resolv.conf
  21. 21. UFWの無効化とアップデート #UFWの無効化 ufw disable #DNS参照先の変更 apt update apt full-upgrade –y #再起動 reboot
  22. 22. Dockerとkubeadmのインストール #UFWの無効化 apt install -y docker.io systemctl enable docker.service #kubeadmのインストール apt install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt -key.gpg | apt-key add - echo 'deb https://apt.kubernetes.io/ kubernetes-xenial main' >/etc/apt/sources.list.d/kubernetes.list apt update apt install -y kubelet kubeadm kubectl
  23. 23. k8sの設定手順 1. クラスターの初期化 2. クラスター接続用設定ファイルの作成 3. flannelのインストール 4. マスターノードへのPodのスケジューリン グを許可 5. クラスターの動作確認 6. Podの起動と動作確認
  24. 24. クラスターの初期化と設定 #クラスターの初期化 kubeadm init --pod-network- cidr=10.244.0.0/16 #クラスター接続用設定ファイルの作成 mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  25. 25. flannelのインストール #flannelのインストール kubectl apply -f https://raw.githubusercontent.com/c oreos/flannel/bc79dd1505b0c8681ece4 de4c0d86c5cd2643275/Documentation/k ube-flannel.yml #マスターノードへのPodのスケジューリングを許可 kubectl taint nodes --all node- role.kubernetes.io/master-
  26. 26. 動作確認とPodの起動 #動作確認 kubectl get node kubectl get all --all-namespaces #Podの起動 kubectl run hello-world -- image=gcr.io/google-samples/node- hello:1.0 --port=8080 kubectl expose deployment hello- world --type=NodePort
  27. 27. デモアプリの動作確認 #Podの動作確認 kubectl get svc --field-selector metadata.name=hello-world #Podへのアクセス確認 IPxx.xx.xx.xxの上記待ち受けポート(例では 30048)にブラウザでアクセス NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-world NodePort xx.xx.xx.xx <none> 8080:30048/TCP 53s
  28. 28. アプリとPodの停止 #アプリの停止 kubectl delete service hello-world kubectl get svc --field-selector metadata.name=hello-world kubectl get all #Podの停止 kubectl delete deployment hello-world kubectl get all
  29. 29. やってみた感想 • 検証済みの手順を教えてもらってやったの で、とても簡単でした • 後から各手順の意味などを確認して理解 • ネットワーク廻りはちょっとよく分からない • 本番運用を考えると、なかなか大変そう • ニフクラの中の人、是非マネージドサービ スを! ←β版!
  30. 30. お問い合わせ先 まずは我々にご相談ください http://VirtualTech.jp/ sales@VirtualTech.jp 03-641907841 30

×