2019年3月1日金曜日

VagrantでMinioがインストールされた仮想マシン(Ubuntu18.04)を構築する

minioはAWS S3互換のAPIを持つオブジェクトストレージです。

〇minioのwebインターフェイル画面


構築方法

以下のVagrantfileを使用して、minioがインストールされた仮想マシン(Ubuntu18.04)を構築できます。
仮想マシン構築後、ブラウザからhttp://192.168.55.106:9000/でwebインターフェイルにアクセスできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.hostname = "ub1804minio"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1804minio"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "private_network", ip: "192.168.55.106", :netmask => "255.255.255.0"
config.vm.network "public_network", ip:"192.168.1.106", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get -y install language-pack-ja
#sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
timedatectl set-timezone Asia/Tokyo


# download & install minio
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
chmod +x minio
wget https://dl.minio.io/client/mc/release/linux-amd64/mc
chmod +x mc
mkdir -p /opt/minio/data
mv minio /opt/minio
mv mc /opt/minio
cat << EOF > /etc/systemd/system/minio.service
[Unit]
Description=minio

[Service]
Type=simple
ExecStart=/opt/minio/minio server /opt/minio/data
WorkingDirectory=/opt/minio

[Install]
WantedBy=multi-user.target
EOF
systemctl enable minio.service
systemctl start minio.service
sleep 10

# minioクライアント初期設定
export accessKey=`grep accessKey /opt/minio/data/.minio.sys/config/config.json | sed -e 's/"//g' | sed -e 's/,//g' | sed -e 's/\t\taccessKey: //g'`
export secretKey=`grep secretKey /opt/minio/data/.minio.sys/config/config.json | sed -e 's/"//g' | sed -e 's/,//g' | sed -e 's/\t\tsecretKey: //g'`
/opt/minio/mc config host add local http://localhost:9000 $accessKey $secretKey
echo "accessKey -> $accessKey"
echo "secretKey -> $secretKey"

cd /opt/minio/data

# バケットの作成
/opt/minio/mc mb sample

# コンテンツの追加
/opt/minio/mc cp /vagrant/vagrantfile sample
/opt/minio/mc ls sample

echo 'access to http://192.168.55.106:9000/'

SHELL
end

関連情報

・Minioのgithubリポジトリ
https://github.com/minio/minio

0 件のコメント:

コメントを投稿