タグ

ブックマーク / blog.1q77.com (16)

  • docker 1.13 の secrets を試す

    Introducing Docker Secrets Management で紹介されているパスワードなどの機密情報管理の仕組みを試してみました。 サーバー3台を起動いつものように DigitalOcean で Docker 1.13 on Ubuntu 16.04 のサーバーを3台立ち上げます $ doctl compute droplet ls ID Name Public IPv4 Public IPv6 Memory VCPUs Disk Region Image Status Tags 39553388 docker1 128.199.166.69 2048 2 40 sgp1 Ubuntu Docker 1.13.0 on 16.04 active 39553389 docker2 128.199.166.74 2048 2 40 sgp1 Ubuntu Docker 1.13

    docker 1.13 の secrets を試す
  • Docker 使うなら石川さんごめんなさいしてる場合ではない

    DockerKubernetes や Swarm でサービスを実行する場合は JSON や YAML などで事前に定義したものを実行するだけなので知っているけどそれほど脅威ではありませんでしたが docker を便利コマンドや batch として自由に任意のコマンドを実行したいと言われるととたんに -v /:/rootfs とか、--privileged されたらどうしようという壁にぶち当たるわけです。 しかし、安全に使えたら便利なのでなんとかならないかなと CentOS 7 の公式リポジトリの Docker なら SELinux でなんとかする方法があるかもしれないなと調べてみました。 公式リポジトリの docker は古いんじゃないかと疑ってましたが 1.12.5 だったのでこれなら悪くない。クラスタの方では 1.11.1 使ってるし。

    Docker 使うなら石川さんごめんなさいしてる場合ではない
  • minikube でローカルでのテスト用 Kubernetes を構築

    Kubernetes を調査しようかなということで minikube を使ったセットアップを試してみる 環境は Ubuntu 16.04 の Note PC minikube は single node の Kubernetes を 1 コマンドでセットアップすることができるツールです。Windows でも使えます。 KVM または VirtualBox で仮想サーバをたてて、そこで Kubernetes 環境が構築されます。 kubectl のインストールKubernetes の操作には kubectl が必要なのでまずはこれをインストール curl -Lo kubectl http://storage.googleapis.com/kubernetes-release/release/v1.4.0/bin/linux/amd64/kubectl \ && chmod +x kubect

    minikube でローカルでのテスト用 Kubernetes を構築
  • Prometheus + Grafana + cAdvisor で Docker container のリソースモニタリング

    Docker 1.11 の Swarm クラスタのリソースモニタリングをどうしようかなということでひとまず各 Docker ホストに monitoringartist/zabbix-agent-xxl-limited/ をインストールし、zabbix で一応見れるようにしていました。 「Zabbix 3.0をDocker Composeで一度に実行する方法」にお世話になりました。 でも zabbix に慣れないのもあるし不便だったのでずっと課題ではありました。 Docker に限らず Prometheus は前から使いたいと思っていたし、今後 Swarm をやめて Kubernetes に切り替えようかなというのもあってやっぱり Prometheus にトライしてみようということにしました。 Prometheus は pull 型のサーバーで、監視対象(target)に exporter

    Prometheus + Grafana + cAdvisor で Docker container のリソースモニタリング
  • Cassandraを使ったZipkinサーバーの構築

    お手軽だということで Redis をストレージエンジンとした Zipkin サーバーを使っていましたが、Redis ではメモリに収める必要があり、データ容量的に足りなくなったため Cassandra を使うことにしました。 ここでは CentOS 6.6 へ Cassandra と Zipkin サーバーをセットアップする手順を記しておきます。Zipkin をアプリに組み込む方法には触れません。 Zipkin とは Twitter が開発している分散トレーシングツールで、今ちょっとバズってるマイクロサービスを進めていくとどのサービスのどこが遅いのかを知る必要がでてきて、リクエスト毎にアプリをまたいだトレースができるツールです。「 LINEのマイクロサービス環境における分散トレーシング « LINE Engineers’ Blog」を読むとわかりやすいかもしれません。(お金があって対応言語な

    Cassandraを使ったZipkinサーバーの構築
  • Redis の冗長化を考える (keepalived, HAProxy, Redis Sentinel)

    Redis を冗長化したいなって思って探していたらこんなのを見つけたので試してみます。 「 Highly Available Redis Cluster | Simplicity is the keynote of all true elegance」 最初は Pacemaker で構築しようと考えていましたが Redis の作者様が Sentinel を おすすめしていたのでこの構成を試してみます。 それぞれのバージョンは OS: CentOS 6.6Redis: 2.8.19HAProxy: 1.5.11Keepalived: 1.2.13図にするとこんな感じ Redis の Master / Slave は Sentinel でコントロールします。 Sentinel については「 Redis Sentinelで自動フェイルオーバー」が詳しいです(ちょっと古いかもしれないけど)。 Re

    Redis の冗長化を考える (keepalived, HAProxy, Redis Sentinel)
  • Ansible 最近の発見

    この投稿は Ansible Advent Calendar 2013 の13日目の記事です。 前日はこちら 2打席目です。 息子二人が連続で胃腸炎にかかりゲロとの戦いを強いられていて書こうと思っていたネタの準備ができなかったので、モジュール一覧ページを見て、「おーっ、こんな機能あったんだぁ!」って思ったものを書いてみます。 fetch モジュールの validate_md5 というパラメータが 1.4 で追加されていました。fetch 元と fetch してきたファイルの md5sum を比較して正しくコピーできたことを確認できます。 しかし copy モジュールにはこの機能ないんですね。 代わりにといっては何ですが、 copy と template モジュールには とすることで syntax check に失敗したら rename 前にエラーで終了させることができます。起動しない設定ファ

    Ansible 最近の発見
  • 逆引き Fluentd plugins (更新あり)

    ワイワイ! この投稿は Fluentd Advent Calendar 2013 の7日目の記事です。 前日 10ヶ月ほど前、私が @tagomoris 氏のブログをコピペしながら人生rubygem として fluent-plugin-tail-asis を書いた時、 http://fluentd.org/plugin/ の plugin はまだ2桁だったんじゃないかと思うのですが、今覗いてみるとなんと 209 です。もう全部を調べるわけにはいかない量です。Fluentd プラグインは簡単に書けることから調べるの面倒だから自分で書いちゃえってなりがちな気もします。実際、私も他では利用価値の無さそうな plugin はちょろっと書いて /etc/td-agent/plugin/ に放り込むだけだったりします。private な Git リポジトリには入っていますけども。 そこで、今回はよ

    逆引き Fluentd plugins (更新あり)
  • Ansible の変数の優先順

    Changes in Ansible Variable Precedence Between v1.2 and v1.3 を見たら Ansible の変数の優先順が version 1.2 と 1.3 で変わってるって書いてあるじゃないですか!! まだ格導入してないから大丈夫だけど、この手のツールのバージョンアップは慎重に行う必要がありますね。 やらなきゃなぁと思っていた変数の優先度整理をこれを機にやってみました。 https://github.com/cookrn/ansible_variable_precedence に変数の優先度確認用の Playbook があったので、これを参考にテストしてみました。 上記の README.md には順序が次のように書かれていましたが、あれ?ちょっと違うんじゃね?というのと、もうちょい詳しく知りたいと思ってテスト用 Playbook を書いてテス

    Ansible の変数の優先順
  • Fluentd + Kibana3 で FortiAnalyzer いらず (更新あり)

    2013-10-15 ちょいと更新 いや、 FortiAnalyzer 使ったこと無いんでホントに代わりになるかどうか知らないんですけど、お高いんですよ(ね?)今はクラウド版っつーのもあるみたいですね。 で、FortiAnalyzer が無いとログをマトモに見れないのかなぁなんて思ってたんですけど、どうやって Analyzer にログ送ってるんだろう?って試したら Syslog (UDP) だったんですね。TCP の 514 にも謎のパケットが飛んでるけどそっちは放置。 Syslog だったらファイルに書き出したものを Fluentd でなんとでもなるぞと。 ログのフォーマットは次のような感じで key=value がスペース区切りで並んでいます。value にスペースが含まれる可能性のある場合はクオートされます key=“aaa bbb” のように。ただし、 service という項目だ

    Fluentd + Kibana3 で FortiAnalyzer いらず (更新あり)
  • Kibana3 を使ってみよう #kibana3

    話題の kibana3 を使ってみたメモです。 fluentd-plugin-elasticsearch で ElasticSearch に突っ込めば簡単に Kibana3 を試せるよっていうブログはちょいちょい見るのですが、Kibana3 をどうやって使うのか書かれてるものが少ないようなので書いてみます。そういうことなので、ElasticSearch に取り込むところまでは省略。 でも一点だけ、ElasticSearch の template 機能を使ったほうが良いですよ(と会社の同僚に教えてもらいました)。 fluentd-plugin-elasticsearch はすべてのフィールドを文字列として送ってしまうので、ElasticSearch 側でこのフィールドは Integer だよとか、日付型だよって教えてあげないと行けませんが、Kibana では日毎のインデックスを使うのでインデ

    Kibana3 を使ってみよう #kibana3
  • July Tech Festa の Chef / serverspec ハンズオンを家で試した #techfesta

    July Tech Festa の Chef ハンズオン資料が公開されていたので家で試してみた。公開ありがとうございます。 Vagrant でテスト用環境を立ち上げる $ mkdir chef $ cd chef $ vagrant init centos6 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box $ vagrant up $ vagrant ssh $ sudo chef-solo [2013-07-19T12:54:08+00:00] WARN: ***************************************** [2013-07-19T12:54:08+00:00] WARN: Did not find config file: /etc/che

    July Tech Festa の Chef / serverspec ハンズオンを家で試した #techfesta
  • Ansible で Growthforecast をインストールする方法

    最近 Ansible ブームな私としては Docker で Growthforecast をインストールする方法 を見ると、Ansible でもやりたくなってしまうのです。ということで、サクッと GrowthForecast をインストールする Playbook をちゃちゃっと書いてみました。 まだブラッシュアップの余地はありますし、CentOS 向けのところしか書いてない。 Debian / Ubuntu とか他の Linux Distribution 用のところは誰かよろしく。Gentoo だとオレオレ ebuild 書けばこんなのいらない? 今回の Playbook は AWX のインストーラーを参考にしたので Ansible AWX を試す その2 #ansible が参考になります。 Playbook は GitHub ( https://github.com/yteraoka/

    Ansible で Growthforecast をインストールする方法
  • Ansible AWX を試す その2 #ansible

    前回の続きです。 AnsibleWorks AWX User Guide では projects/helloworld/helloworld.yml というテスト用の Playbook が載っているのですが、この内容が次のようになっており user: root が指定してあるため Credentials の SSH Username が helloworld.yml で上書きされて Authentication failed となるという現象で少しハマりました。 --- - name: Hello World! hosts: all user: root tasks: - name: Hello World! shell: echo "Hi! AWX is working" AWX の良い所は実行のログがずっと残って簡単に参照や再実行ができるところですね。Playbook の作成自体は手動

    Ansible AWX を試す その2 #ansible
  • Ansible AWX を試す その1 #ansible

    このところ Ansible Tutorial を書いたりして Ansible ブームなので一昨日見つけた Ansible の WebUI ツール AWX を試してみました。www.ansibleworks.com/ansibleworks-awx/ (もう存在しない)から awx-setup-1.2.2.tar.gz をダウンロードします。 まずは中身の確認。 [vagrant@localhost ~]$ tar ztf awx-setup-1.2.2.tar.gz awx-setup-1.2.2/ awx-setup-1.2.2/README.md awx-setup-1.2.2/group_vars/ awx-setup-1.2.2/group_vars/all awx-setup-1.2.2/site.yml awx-setup-1.2.2/myhosts awx-setup-1.2

    Ansible AWX を試す その1 #ansible
  • Riak Meetup Tokyo 2 に参加してきた #riakjp

    2013/07/10 Yahoo! JAPAN にて開催された Riak Meetup Tokyo #2 に参加してきたのでメモ セッション1 FreakOut 久森さん 「Riak環境をプロダクションで構築&運用してみた(仮)」RTB (こっちじゃない) という「50ms or die」な環境で Riak を導入してみて…というお話。 SSP からのリクエストに 100ms 以内にリクエストを返さないと、リクエストすら来なくなるというハードな世界。ネットワークの TTL が 10ms 程度で、アプリ側の処理は 50ms に抑えたいという。 このような環境でデータストアとして Kyoto なんとか Tokyo なんとかを使ってきたがアプリ側での計算による分散であるため、スケールアウトが容易ではないという問題を解決するために Riak の導入にチャレンジしている。 構成はアプリとの間に HA

    Riak Meetup Tokyo 2 に参加してきた #riakjp
  • 1