前提
- Windows10 Proが導入された64bit PC
既知の問題
- Docker DesktopはHyper-Vを前提にしているため、起動時にはHyper-Vを有効にするようにBIOS, OSの設定変更が必要(Docker Desktopを導入するとCLIのDockerコマンドが導入されるため)
- 一方でMinikubeはHyper-Vでは起動しない(ドキュメント上は起動するはずだが原因不明)
- そこでDocker Desktop導入時のみHyper-Vを有効にして、導入が終わったらHyper-Vを無効化する方針をとる
導入するソフトウェア一覧
名称 | バージョン | 説明 |
---|---|---|
Docker Desktop | 2.0.0.3 | Windows用のDocker環境 |
Minikube | v0.35.0 | 簡単にKubernetesを導入できるパッケージ |
VirtualBox | 5.2.26 | 仮想化ソフトウェア |
kubectl | v1.13.0 | Kubernetesを操作するCommandLineツール |
helm | 2.13.0 | コンテナ用のパッケージマネージャー |
1. BIOSでIntelの仮想化機能を有効化する
- 次の手順などを参考にさせていただき、BIOS画面を表示させる.
https://freesoft.tvbok.com/win10/access_uefi_bios_setup.html - 仮想化機能を有効化する(Lenovo T470の場合は、 Security→Virtualizationを選択して、Intel Virtualization Technology, Intel VT-d FeatureをEnableにする)
2. Hyper-Vを有効化する
- Windows10の設定から「Windowsの機能の有効化または無効化」を開く
- Hyper-Vの機能にチェックを入れる
3. Docker Desktopの導入
- 次のページから、インストーラーを入手する(要ユーザー登録)
- https://hub.docker.com/editions/community/docker-ce-desktop-windows
- インストーラーを実行する
- インストール時に"Use Windows containers instead of Linux containers"にはチェックを入れないこと
- Docker Desktopを起動するとタスクトレイにDockerのアイコンが表示されるので、右クリックして"Start Docker Desktop when you log in"のチェックを外す
4. Hyper-Vを無効化する
- Windows10の設定から「Windowsの機能の有効化または無効化」を開く
- Hyper-Vの機能のチェックを外す
5. kubectlコマンドの導入
- ブラウザで以下のURLにアクセスしてツールをダウンロードする
https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/windows/amd64/kubectl.exe - 適当なディレクトリに配置して、そのディレクトリにパスを通す
6. Minikubeの導入
- ブラウザで以下のURLにアクセスしてツールをダウンロードする
https://storage.googleapis.com/minikube/releases/v0.35.0/minikube-windows-amd64.exe - 適当なディレクトリに配置して、そのディレクトリにパスを通す
- ファイル名を
minikube.exe
に変更する(任意) - コマンドプロンプトを起動して
minikube start
というコマンドを実行する - エラーがなく完了したら、
minikube addons enable ingress
というコマンドを実行して、Ingressを有効化する -
minikube dashboard
というコマンドを実行し、ブラウザにダッシュボード画面が表示されれば導入完了。Ctrl+Cで終了する
7. Helmの導入
- ブラウザで以下のURLにアクセスしてツールをダウンロードする
https://storage.googleapis.com/kubernetes-helm/helm-v2.13.0-windows-amd64.zip - zipを展開して
helm.exe
を適当なディレクトリに配置して、そのディレクトリにパスを通す - コマンドプロンプトで
helm init
というコマンドを実行する - 1分程度待って
helm version
というコマンドを実行し、ClientとServerのバージョンが表示されれば導入完了