1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

windows上で、ubuntuの仮想マシンを作成し、minikubeを起動まで

Last updated at Posted at 2018-08-26

動機

なぜ、こんなことをしようかというと、Dockerのことなんかを踏まえ、開発はUbunutuでやりたいけど、Windows PCしかない。
けど、開発用クラウドは借りたくないな~って人向けです。
やっぱり、開発はあくまでローカルでというのが、私の考えです。
ローカルで開発用クラウド作ってるようで面白かったです。

構築

仮想マシンの作成

仮想マシンの構築は、vagrantを使用します。
OSは、「Ubuntu 18.04 LTS」にしました。
適当なフォルダを作り、下記のvagrantfileを作成・配置し、その場所でvagrant upします。

vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-18.04"
end

vagrant sshで、ログインしましょう。

minikubeのインストール

後述しますが、仮想マシンだと仮想化がサポートされていない為、仮想化ドライバーが動きません。
エラーなども含め記載しておきます。

さて、こちらにVMサポートがされていないLinuxでの手順があります。
minikube - Linux Continuous Integration without VM Support

Dockerが必要になるので、インストールします。
Docker - Get Docker CE for Ubuntu

Dockerのインストールが終わったら、下記のコマンドを実行します。

minikubeのインストール

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube

kubectlのインストール

curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && sudo cp kubectl /usr/local/bin/ && rm kubectl

各種環境変数の設定です。

export MINIKUBE_WANTUPDATENOTIFICATION=false
export MINIKUBE_WANTREPORTERRORPROMPT=false
export MINIKUBE_HOME=$HOME
export CHANGE_MINIKUBE_NONE_USER=true

設定ファイルが要るようです。

mkdir -p $HOME/.kube
touch $HOME/.kube/config
export KUBECONFIG=$HOME/.kube/config

minikubeを起動します。

sudo minikube start --vm-driver=none

これで、minikubeの起動までができました。
そのうち続きとして、今回作ったminikubeでアプリをWebアプリを、デプロイし、ホストOS(Windows10)からブラウザで閲覧してみたいと思います。
乞うご期待(笑

番外編

KVMを入れて、動かそうとしたら出たエラー

ドキュメントによると、linux上でのminikubeの稼働条件として、KVMが必要になります。
KVM2というのが推奨されるようなので、そちらをインストールしました。
minikube - Driver plugin installation

sudo apt install libvirt-clients libvirt-daemon-system qemu-kvm
sudo usermod -a -G libvirt $(whoami)
newgrp libvirt
curl -Lo docker-machine-driver-kvm2 https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2 \
&& chmod +x docker-machine-driver-kvm2 \
&& sudo cp docker-machine-driver-kvm2 /usr/local/bin/ \
&& rm docker-machine-driver-kvm2

次に、minikubeをインストールします。

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube \
&& sudo cp minikube /usr/local/bin/ \
&& rm minikube

kubectlが必要とのことなので、kubectlをインストールします。

curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.10.0/bin/linux/amd64/kubectl \
&& chmod +x kubectl \
&& sudo mv kubectl /usr/local/bin/

minikubeを起動します。

sudo minikube start --vm-driver kvm2

ここで、エラーが発生しました。

E0826 15:02:44.776053   15701 start.go:174] Error starting host: Error getting state for host: getting connection: looking up domain: virError(Code=42, Domain=10, Message='Domain not found: no domain with matching name 'minikube'').

この問題については、よくわからなかったのですが、ls -la ~と打つと、「.minikube」というフォルダが存在し、そちらを削除して再実行したところまたエラー。

E0826 15:45:18.378000   22956 start.go:180] Error starting host:  Error creating host: Error creating machine: Error in driver during machine creation: creating domain: Error defining domain xml:
<domain type='kvm'>
  <name>minikube</name>
  <memory unit='MB'>2048</memory>
...この後も続く

どうやら原因は、仮想化サポートが有効化されていないことが原因のようですが、そもそも仮想VMなのでそんなことできません。
(Nested Virtualizationなる仮想マシン上で、さらに仮想化じゃ~みたいなものがあるらしいですが、サポートもされておらず、手を出せそうにありませんでした。)
この手順は、Linuxを直接インストールしたPCで使えそうですね。
今度やってみます。

以上、番外編でした。

1
3
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
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?