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.

ニフクラにk8sを入れてみた

356 views

Published on

ニフクラにk8sを入れてみるための手順を解説しています。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

ニフクラにk8sを入れてみた

  1. 1. ニフクラにk8sを入れてみた 日本仮想化技術株式会社 代表取締役社長兼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. ニフクラにk8sを入れる時のポイント • ニフクラで用意されているUbuntuイメージ のちょっとした違いに対応 • 手順自体は特別なところは無し • 本格的な運用をするには複数ノードでの動 作を考える必要がある
  6. 6. ニフクラのUbuntuのDNS設定 • ニフクラはローカルでBINDが動作しており、 /etc/resolv.confが127.0.0.1を参照している • このままだとk8sのCoreDNS Podがループ してしまうので、設定変更が必要 – https://coredns.io/plugins/loop/#troubleshooting – 今回は手っ取り早くDNSの参照先を外部に変 更することにする
  7. 7. ニフクラのUbuntuのUFW設定 • デフォルトではUFW(Uncomplicated FireWall)が動作している – SSHのみ受け入れの設定 • 今回は手っ取り早くUFWを停止する
  8. 8. k8sの導入手順 1. スワップの無効化 2. DNS参照先の変更 3. UFWの無効化 4. アップデートと再起動 5. Dockerのインストールと有効化 6. kubeadmのインストール
  9. 9. スワップの無効化と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
  10. 10. UFWの無効化とアップデート #UFWの無効化 ufw disable #DNS参照先の変更 apt update apt full-upgrade –y #再起動 reboot
  11. 11. 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
  12. 12. k8sの設定手順 1. クラスターの初期化 2. クラスター接続用設定ファイルの作成 3. flannelのインストール 4. マスターノードへのPodのスケジューリン グを許可 5. クラスターの動作確認 6. Podの起動と動作確認
  13. 13. クラスターの初期化と設定 #クラスターの初期化 kubeadm init --pod-network- cidr=10.244.0.0/16 #クラスター接続用設定ファイルの作成 mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  14. 14. 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-
  15. 15. 動作確認と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
  16. 16. デモアプリの動作確認 #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
  17. 17. アプリと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
  18. 18. やってみた感想 • 検証済みの手順を教えてもらってやったの で、とても簡単でした • 後から各手順の意味などを確認して理解 • ネットワーク廻りはちょっとよく分からない • 本番運用を考えると、なかなか大変そう • ニフクラの中の人、是非マネージドサービ スを!
  19. 19. お問い合わせ先 まずは我々にご相談ください http://VirtualTech.jp/ sales@VirtualTech.jp 03-641907841 19

×