LoginSignup
1
2

More than 3 years have passed since last update.

ハンズオンでVM(CENTOS7)→docker→k8sの順で環境を構築していく

Last updated at Posted at 2020-01-17

ハンズオンでVM(CENTOS7)→docker→k8sの順で環境を構築していく

dockerやk8sの技術を体系的に得たいが時間がない!
ならまずは箱庭作りから始めよう!

バーチャルボックスでlinux環境構築

ハイパーバイザーのバーチャルボックスとCENTOS7をダウンロードする。

・バーチャルボックスを起動する。

①新規仮想マシンの作成をクリック

②バーチャルボックスのディスクにCENTOS7をセッティングする!

③仮想ディスクの設定
- 仮想HDDは20Gに設定
- 仮想ディスクを複数ファイルに分割を選択

④ハードウェアカスタマイズ選択
- メモリを4Gに設定
- プロセッサを2コアに設定

⑤バーチャルボックスをCENTOS7をインストールする!
- 言語は「j」を入力し日本語を選択

  • ソフトウェアの選択→サーバ(GUI使用)を選択 2020-01-11_07-18-47-0a0dd6efb9912b4ce6cfd6cec2adf306.png

2020-01-11_07-18-57-ab97cc98c5845ed70c8cab45499435a7.png
- インストール先→作成した自前仮想ディスクを選択→完了

  • ネットワークとホスト名→オンに設定(インターネットに接続できる状態にする)

  • 上記の設定が完了したらインストール開始!

  • インストール中にrootパスワード設定とユーザ作成する。

インストールが完了したら再起動を行う。

※VM画面からカーソルを外す操作方法。

VmwarePlayerであればCtrl+ALTキーでVM画面からカーソルを外せる。

Vercalboxであると右のCtrlキーでVM画面からカーソルを外せる。

初回起動操作↓
- ライセンス同意にチェック→設定の完了

  • CENTOS7環境のGUIセッティング

  • CENTOSのGUI画面からアプリケーション→端末を起動

・下記のコマンドで使用IPを調べる
ip -f inet a

Docker + Kubernetes で構築する Webアプリケーション 実践講座  Udemy (4) 35.jpg

ネットワークアダプターのIPアドレスを確認できる。

  • WinscpでVM側のrootディレクトリに下記の環境構築用シェルを転送
minikube-installer.sh
#! /bin/sh

# Install "Docker"
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install -y \
  docker-ce-19.03.1 \
  docker-ce-cli-19.03.1 \
  containerd.io
systemctl enable docker
systemctl start docker
# Install "kubectl"
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.1/bin/linux/amd64/kubectl
chmod +x ./kubectl
mv ./kubectl /usr/local/bin
# Install "minikube"
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.2.0/minikube-linux-amd64
chmod +x minikube
install minikube /usr/local/bin
rm -f minikube
# stop firewall
systemctl disable firewalld
systemctl stop firewalld
# Add addons
minikube start --vm-driver=none
minikube addons enable heapster
minikube addons enable ingress

winscp.jpg

  • VMでないほうからテラタームを実行→先ほどのIPと作成したユーザ名を使用しログイン

  • teratermで下記のコマンドで環境構築用シェルをインストール
    sh minikube-installer.sh

これでインストールは完了したので下記の確認コマンドを打ってみよう!

コマンド 定義
docker version dockerのバージョンを確認する。
kubectl version k8sのバージョンを確認する。

Docker + Kubernetes (2).jpg

ここまで確認すればdockerとk8sの環境は完成です。
試しにインストールされたかminikubeコマンドを試してみましょう。

minikubeコマンドを打ってk8sの理解を深める

  • minikubeとはk8sをローカルで実行できるコマンド

クラスタ実行/停止/状態確認

k8sクラスタを操作するコマンド

ちなみにk8sクラスタはdockerコンテナの外層を包んで制御するイメージ

操作 コマンド
実行 minikube start
停止 minikube stop
状態確認 minikube status

バーチャルボックスを使用していない場合は実行に下記オプションが必要
minikube start --vm-driver=none

アドオン追加削除一覧確認

アドオンを操作するコマンド
操作 コマンド
追加 minikube addons enable ADDON_NAME
削除 minikube addons disable ADDON_NAME
一覧確認 minikube addons list
minikubeの状態を確認する:
minikube status

runningになっていればk8sクラスタが実行されてることが解る。
動いていることを確認したらminikubeを停止させてみよう。

minikubeを停止させる:
minikube stop

minikube statusで止まっているか確認しよう。

#minikubeの再起動を行う:
minikube start --vm-driver=none

host:runningになっていれば起動している。

# minikubeのaddonsの有効無効を確認する:
minikube addons list

【補足ハイパーバイザーにてvmware workstation 15 を使う場合】

ip -f inet a ipでアドレスを調べる。

右のctrlでカーソル脱出させる。

※ + を使って[anaconda root@localhost]# のようなコンソール画面に切り替える。

+ + のキー シーケンスを使用して、ゲスト OS をシャットダウンまたはログオフできます。

またvi テキスト編集:で下記のようなエラーが発生する。

E20: Mark not set

言語設定が原因
「E20: Mark not set」と表示されいくつかのViコマンドが使えない。によるとキーボードの言語設定が原因。

キーボードの設定を日本語にするとなおった
(方法は各自で調べて)

編集状態ならShift + ;で:が入力できる
https://ameblo.jp/ca-engineer/entry-10102519347.html

■キーボードの設定は/etc/sysconfig/keyboardで変更する。
https://ameblo.jp/ca-engineer/entry-10102546292.html

KEYBORDTYPE="pc"
KEYTABLE="jp106"

vimは で保存

Ctrl + Alt を押してマウスとキーボードを解放しようとすると、ノート型コンピュータがサスペンドする。

デフォルトでは、Ctrl + Alt キーの組み合わせで Workstation Pro からマウスとキーボードが解放されます。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2