hashicorp

A collection of 6 posts

Mounting Docker volumes into Nomad tasks allocation directory
nomad

Mounting Docker volumes into Nomad tasks allocation directory

Nomad はグループ (タスクの集まり) 内で共有可能なディレクトリを提供しておりタスクからは環境変数 NOMAD_ALLOC_DIR または /alloc ディレクトリを直接参照することで使用可能です。 Environment - Runtime | Nomad by HashiCorp また Nomad のタスクは Docker が使用できます。 Drivers: Docker | Nomad by HashiCorp そこで、Docker コンテナの生成物をタスク間で共有できないか試したのですがすんなりできなかったのでメモ。 構成

Provide dependencies to between Nomad tasks
nomad

Provide dependencies to between Nomad tasks

最近 Nomad をチマチマ触っています。 nomad - ゆるふわキャンパー Nomad のジョブとしてバッチジョブを実行できるのですが、ジョブ内に複数タスクがある場合、タスクは並列で実行されます。 このためタスク間に依存関係がある場合、下流のタスクが失敗してしまうことに気付きました…。また、現在 Nomad にタスク間の依存関係を表現する機能はありません。 既存の議論 タスク間の依存関係を表現できるようにしたいという機能要望は数年前からあり、以下の Issue で議論されています。 Provide for dependencies between tasks in a group · Issue

Split DigitalOcean project
digitalocean

Split DigitalOcean project

最近このブログを Nomad クラスター環境へ移行しました。 Nomad クラスターを作成する Nomad クラスター上で Ghost ブログを動作させる クラスターは DigitalOcean 上に構築しており、構築は Terraform で自動化しています。ウェブサーバーやブログなどのアプリケーションの配備や管理は Nomad に任せています。 DigitalOcean ではプロジェクトという単位でリソースをまとめることが出来ます。 Projects :: DigitalOcean Product Documentation とりあえず Nomad クラスター関連のリソースをまとめる意図で Nomad Cluster というプロジェクトを作成し

Running Ghost blog on Nomad Cluster
nomad

Running Ghost blog on Nomad Cluster

このブログは数年間単一のサーバーで稼働していました。 学習も兼ねてわざわざ自前でサーバーを運用していたのですが、最近新しい構成に移したくなり、Kubernetes の流行もあってクラスターやマイクロサービスといった時代の流れに乗るべく、Nomad クラスターへの移行を行いました。 Nomad クラスターの作成までは下記記事にまとめています (インフラやクラスターの設定等はここからさらに変更しています)。 Nomad クラスターを作成する今回はこの Nomad クラスター上で Ghost を動かすところまでをまとめます。 構成以下の通り、DigitalOcean のマネージドロードバランサー配下に Droplet を 3台配置し、クラスターを構成しています。 クラスターを構成するノードではそれぞれ Nomad と Consul が稼働しており、Consul でサービスディスカバリーを、

Create Nomad Cluster on DigitalOcean
nomad

Create Nomad Cluster on DigitalOcean

Nomad 上にこのブログ (Ghost) を移そうと考えています。 Nomad by HashiCorp そこで、まずは Nomad クラスターを DigitalOcean 上に作成してみました。 この記事の一番最後にクラスター作成に使用している Terraform のファイルを貼っておきます。 Nomad とは Nomad とは Docker コンテナや Qemu 仮想マシン、 Java アプリケーション等のデプロイ、それらによる処理の実行の管理を自動的に行うツールです。 つまり、ワークロードオーケストレーターです。 Introduction

Create a Vagrant Box from an existing Virtualbox image
vagrant

Create a Vagrant Box from an existing Virtualbox image

概要 packer を使って既存のVirtualboxのイメージからVagrantのboxを作ってみますよ ※ 最初からvagrant使っている場合はvagrant packageコマンドでbox作成出来るます まずboxの元になるvirtualboxイメージをova形式でエクスポートする packerでvirtualboxのイメージをビルド元のタイプに指定したい場合、イメージの拡張子はovfかovaである必要があるのでまずはこれを用意します VIRTUALBOX BUILDER (FROM AN OVF/OVA) virtualboxのエクスポート機能を使います このときovfのバージョンは2.0を選ぶこと When exporting from VirtualBox make sure to choose OVF Version 2, since Version