Kubernetes上のリソースをTerraformで管理するメリットとデメリット

2019-03-07

@mosuke5です。早くも3月になってしまいました。
しかし、個人的にはこの2か月は非常に動きがあった2か月でしたのでいろいろ楽しかったです。

さて、本題ですが、、
わたしの好きなTerraformを使ってKubernetesクラスタ上のリソースを管理するのをやってみたいと思います。
そもそもKubernetesをTeraformで管理するとなると2つのレイヤーの話があります。 今回は、後者のほうに重きを置いてお伝えします。

  1. KubernetesクラスターそのものをTerraformで管理する
  2. Kubernetesクラスター上のリソースをTerraformで管理する
続きを読む

Terraformのimportの使い方と注意ポイント

2018-06-20

ここずっとTerraformの基本的な部分の投稿がつづいている@mosuke5です。
理由は、Terraformを最近結構触ることが多いのもあるが、今まであんまり使ってこなかった機能をきちんとキャッチアップして、より効率的にTerraformを活用できるようにしようと思っているからです。
と、まあ余談はおいておき、import機能をやっていきます。

import機能についてはできることもなんとなくしっていたが、自分の手でやったことがなかったのでやってみようと思っています。

続きを読む

Terraformのbackend機能を利用してstateファイルを共有する

2018-06-17

Terraformのbackend機能について紹介します。
まずはbackend機能が必要な理由についてから説明していきます。

続きを読む

Terraform workspaceを利用して環境毎のリソース名の変更を行う

2018-06-16

Terraformのバージョン0.9以降で追加された、workspace機能について自分の環境で使い始めたので、その使い方やtipsなどを残していきたいと思います。
workspaceは名前から推測できますが、同じTerraformのコードをワークスペース(環境)ごとに使い分けることのできる機能です。例えば、productionとdevelopmentの2つのworkspaceを作れば、同じTerraformコードを利用してこの2つの環境で別のリソースを作成していくことができます。

続きを読む

Terraformで複数リージョンをまたいだリソース制御する

2018-06-08

Terraformを使って、リージョンをまたいでリソースを制御したくなることがありました。 Terraformではプロバイダーを指定する際に、リージョンを指定することが多く、異なるリージョンでリソース制御したい場合には工夫が必要です。

なおこの記事はAlibaba Cloudを例にとっていますが、AWSなどでも同じことが可能ですので、あまりクラウドベンダーは気にしないでください。

続きを読む

Docker Compose上でのRailsアプリケーションの開発フロー

2018-05-02

早いものGWも終わり一週間が経ってしまいました。
長期の連休になるとだいたい自分は趣味のアプリケーション開発をよくすすめています(ふだんからやりたいけどなかなかできない)。今年のGWも趣味アプリケーションの開発をしてました。

いま作っているアプリケーションは自分の英語学習用のサービスなのですが(サービスについては別途どこかでご紹介したい)、新しい技術を実際に試す場としても利用しています。自分はいつも趣味アプリケーションで新しいことを試してみて、よかったらそれを職場にもっていくことが多いです。

アプリケーションはRailsで書いているのですが、Railsの他にMySQLやNginx、ElasticSearch、Kibanaなど関連するコンポーネントが多いです。 そのため、Docker Composeを利用して動かすことにしています。Dockerは以前から使っていたのですが、実際にアプリケーションのせてとして開発・運用してみると、いろいろ問題があり試行錯誤することになりました。

GWはその部分と主に格闘していて、最終的にそこそこ良い開発フローを整えることができました。今日はそのご紹介です。
※もちろん、現時点でのやり方であり、改善しているので現状と異なることも多いと思います。

続きを読む

TerraformでCloudFlareのDNS設定を操る

2018-01-01

あけましておめでとうございます。今年も本ブログおよびmosuke5をよろしくお願いします。
新年元旦のブログなので軽く。年末年始は普段できない開発をやっていて、そこでできたちょっとしたメモを。

趣味で作っているサービスで、基盤はAWSを利用し、CloudFlareも利用したい理由もありDNSの設定などはRoute53ではなくCloudFlareで制御する必要があった。複数のサービスをまたいで設定を管理できるTerraformの出番なわけだが、その設定方法についてメモしておく。

続きを読む

Vagrant×Ansible環境の3つのスタイルとそのメリット・デメリットについて

2016-01-25

Vagrant×Ansibleで開発環境を作っているみなさんは、 どんなふうにそれを実現していますか?

きっといくつかのやり方、考え方があると思います。
例えば、ご自身のPCにAnsibleをインストールしてVagrantの仮想環境にプロビジョニングしているとか。
Vagrantで立てた仮想環境にAnsibleを入れて実行するとか。

続きを読む

AnsibleとServerspecの実行をRakeタスクにまとめる

2015-12-17

こんにちはもーすけです。
私が趣味で開発しているシステムでは、Ansibleを使って、サーバ構築からアプリケーションのデプロイまで実行できるように管理しています。 そして、serverspecを使って、そのサーバに対するインフラテストも行っています。しかし、その運用にいくつか課題点がありました。

その課題点についてと、課題点へ対策したことについて書きます。

続きを読む

Ansible、実行速度高速化の実験。ControlMasterとPipeliningについて

2015-12-01
Ansibleの実行速度に不満を持っている人は多いのではないだろうか。
自分もそのひとりであったのだが、ControlMasterやpipeliningといった機能を使って高速化に成功した。 本ブログでは、その効果の実験を行ったので参考にしてください。 続きを読む