タグ

ブックマーク / qiita.com (126)

  • GKEのノードプールを利用したKubernetesのアップグレード - Qiita

    Google Cloud Platform(2) Advent Calendar 2016 2日目 CyberAgent Developers Advent Calendar 2016 19日目 を担当するstrskです。 Google Cloud Platform(2) Advent Calendar 2016 1日目は、前職でほぼ仕事的に絡みのなかった、僕の師匠とも言えるkumanoryoさんのゲロ吐くほど丁寧な記事ではじまったアドベントカレンダーですが、2日目はカジュアルにGKEのノードプールを利用したKubernetesのアップグレード手順についてお話します。 gcloudコマンドでのアップグレード アップグレード方法はいくつかありますが、稼働中でなければ以下のコマンドを打つだけです。 gcloudコマンドでアップグレードした場合は、ノードのインスタンスが1台ずつ削除されアップグレ

    GKEのノードプールを利用したKubernetesのアップグレード - Qiita
    strsk
    strsk 2016/12/02
    今年のアドベントカレンダーになります。
  • tfenvでTerraformのバージョン管理をする - Qiita

    tfenvはTerraformのバージョン管理を簡単にするために作ったツールです。rbenvにインスパイアされてます。 現在複数の環境でTerraformを使ってて、それぞれ使っているバージョンが違う場合があるので、バージョンの切り替えを楽にしたい、間違って違うバージョンを使ってしまう事故を防ぎたい(tfstateの互換性が無かったりする場合があるので)という動機で作りました。 使い方(v0.5.x) Install/Uninstall GitHubから任意のパスにcloneしてtfenv/binにパスを通すだけ。 アンインストールはそのパスを消すだけです。 もしくはMacユーザーの方はHomebrewでもインストールできます tfenv install/uninstall 指定したバージョンをインストール/アンインストールしますlatestで最新版をインストールします。 latest:^

    tfenvでTerraformのバージョン管理をする - Qiita
    strsk
    strsk 2016/11/09
  • anyenvで開発環境を整える - Qiita

    私の場合、開発環境では複数の言語のコードを書いたり実行したりします。 例えば perl, ruby, nodejs, python など。 これらを利用するために、plenv, rbenv, nodebrew, pyenv などを利用していました。 しかし、遅ればせながら anyenv というものがあると聞いたので、こっちに乗り換えました。 **envを2つ以上使ってる人はこれ使うのが良いと思います。おすすめ。 http://blog.riywo.com/2013/06/22/155804 https://github.com/riywo/anyenv インストールは簡単 README.md のとおりにやればOK # ------------------------------------------------------------------------ -# plenv +# an

    anyenvで開発環境を整える - Qiita
  • マイクロサービスアーキテクチャにおけるオーケストレーションとコレオグラフィ - Qiita

    マイクロサービスアーキテクチャの4章にオーケストレーションとコレオグラフィという話があります。 マイクロサービスを使ってアプリケーションを組み立てる側の、サービスの呼び出し方の違いです。 「マイクロサービス的に作ってるよー」というシステムでも、ここに特に疑問を持たず、ふつうにWeb APIたちを呼び、受け取ったデータでHTMLをレンダリングするというオーケストレーション方式で作られているのが多いのではないでしょうか? Sam Newmanは、それだと呼び出されるサービス側がドメインモデル貧血症になりがちで、呼び出す側にロジックが集まっていくことになると、書籍の中で述べています。 いったいどういうことでしょうか? 書籍中の例をちょっと変えて考えてみます。 マイクロサービスアーキテクチャでECサイトを作る(オーケストレーション編) ECサイトをマイクロサービスアーキテクチャで作ることを考えてみ

    マイクロサービスアーキテクチャにおけるオーケストレーションとコレオグラフィ - Qiita
  • MongoDB 3のWired Tigerを使うとうれしいこと - Qiita

    MongoDB 3の大きな変更点として、データを永続化するストレージ部分の実装が、 今まではOS任せのMMAPベースしか選べなかったのが、WiredTigerも選べるようになったことだ。 WiredTigerになって何がうれしいのかまとめてみた。 ドキュメントレベルロックになった MongoDB 2系ではMMAPベースでロックの単位がデータベースで、MongoDB 3系でも従来のMMAPベースのものだとコレクションレベルロックまでしかできないが、WiredTigerを選べばドキュメントレベルロックができるようになった。 これにより書き込み時のロック待ちが減る インデックスとデータを別ディレクトリにすることができるようになった --wiredTigerDirectoryForIndexesのオプションにより、インデックスをデータと別の場所に配置できる。メモリだけを高速なSSDに入れ、データは

    MongoDB 3のWired Tigerを使うとうれしいこと - Qiita
  • MongoDBのメモリの使い方とプレヒーティング - Qiita

    MongoDBのMongoDBのメモリの使い方とプレヒーティングについて簡単に解説します。 前提はMongoDB ~2.6 on Linuxです。2.8の新しいストレージエンジン(wired tiger)ではこの話は関係ありません。 MongoDBのメモリ管理 まずMongoDBがどうやってメモリを管理しているかですが、 結論から言うとメモリは管理していません。 OSにすべてを任せています。具体的にはLinuxOSのmmap()というシステムコールを利用しています mmapとは? mmapはファイルシステム上のファイルをメモリにマッピングして、プロセスからはメモリ上に乗せられたファイルの中身に高速にアクセスできる仕組みです。 プロセス起動直後にmmapでファイルをマップしても、最初は何もメモリには乗りません。 プロセスがファイルを読み取ろうとしたときに初めてメモリに乗せます。 その後はメモ

    MongoDBのメモリの使い方とプレヒーティング - Qiita
  • Kubernetes の学習 (3) ~ ラベル、Replication Controller の作成 - Qiita

    ラベルとは? Kubernetes 上のオブジェクト(Podなど)に付けることができる Key/Value ペアの文字列で、オブジェクトに任意のメタ情報のようなものを持たせることができる。Pod が複数ある場合にそれぞれにラベルを付けることにより、Pod をグループ化したり、特定の Pod を抽出することができる。 例えば、次のような2つの Pod の定義があるとする。 pod-with-label1.yamlapiVersion: v1 kind: Pod metadata: name: pod1 labels: app: petshop ← ラベル(Key = app, Value = petshop) env: production ← ラベル(Key = env, Value = production) spec: containers: - name: container1

    Kubernetes の学習 (3) ~ ラベル、Replication Controller の作成 - Qiita
  • Kubernetesのポッドが起動しない原因と対策 - Qiita

    Kubernetesの導入を検討するにあたって、エラーの状況確認から解決に至るまでのオペレーションは押さえておくべき事柄だ。まだ導入に至っていない場合はこういう問題が発生するのかと雑に感じてもらい、導入している場合は問題を解決する際の参考にしてもらえればと思う。 当エントリでは、自分が遭遇した失敗のケースについて原因と解決方法を列挙する。尚、経験ベースなので同じエラーがでても場合によっては別の原因や解決方法があるかもしれない。また、記載したログや設定ファイルのリソース名や値などは適当にマスキングしているので適宜読み替えてほしい。 どのようなタイミングでポッドが起動しなくなるか Kubernetesはポッドが落ちた際に自動的にポッドを再起動するなどのマネジメントを行ってくれる。ただし、ポッドを初めて作る際や、構成を変えたポッドやレプリケーションコントローラをローリングアップデートする際に、誤

    Kubernetesのポッドが起動しない原因と対策 - Qiita
  • [徹底解説] MongoDBの監視やバックアップができるMMS(MongoDB Management Service)の使い方 - Qiita

    [徹底解説] MongoDBの監視やバックアップができるMMS(MongoDB Management Service)の使い方MongoDBMMS MMSの概要 MMSの機能 MMS(MongoDB管理サービス)はMongoDBの自動運用管理をしてくれるサービスであり、主に以下の機能があります。 監視 MongoDBの各種統計情報収集、グラフ化、監視 閾値を指定して超えたらアラートメール送付 バックアップ スナップショット取得・リカバリ 差分バックアップ ポイントインタイムリカバリ(時間指定リカバリ) オートメーション(2014/5現在、公開予定) 無停止バージョンアップ ワンクリック環境構築 MMSとMMSエージェントの役割分担 MongoDB単体ではMMSを利用できません。MMSエージェントを導入して、MMSと接続する必要があります。 MMSエージェントには監視を行う監視エージェントと

    [徹底解説] MongoDBの監視やバックアップができるMMS(MongoDB Management Service)の使い方 - Qiita
  • Alpine Linux で Docker イメージを劇的に小さくする - Qiita

    Docker イメージを小さく作るテクニックって、いろいろありますよね。不要なファイルやディレクトリを削除したり、複数の RUN 命令をひとつにまとめたりなどなど。 ところが、ベースイメージに Alpine Linux を使う(FROM alpine とする)と、Docker イメージのサイズを 劇的に小さくできる ことがわかりました。 いままで、Docker イメージのサイズを小さくするために、ちまちまとやってきたことは、なんだったんだろうという感じです。まあ、それはそれで組み合わせて使いますが . . . なんとも . . . ねえ(笑) Alpine Linux とは Alpine Linux は、セキュアで軽量な Linux ディストリビューション musl libc と BusyBox をベースに構成されている 組込み系に適した Linux ディストリビューション パッケージ管理

    Alpine Linux で Docker イメージを劇的に小さくする - Qiita
  • Terraform と CI で実現するインフラのコード化と構築の自動化 - Qiita

    Wantedly Advent Calendar 2015 18日目です。 インフラチームインターンの @dtan4 です。 Wantedly では Terraform を用いたインフラのコード化 (Infrastructure as Code) を全面的に取り入れています。インフラリソースの追加や修正は、コードを書くこと・CI 上での自動適用によって行われています。 この記事では、今年5月から半年以上の間 Terraform を運用してきた中での なぜ Terraform でインフラをコード化しようとしたのか どのように Terraform を運用しているのか Terraform 運用にあたって注意すべき点 既存リソースから Terraform コードを生成する Terraforming について ということを紹介したいと思います。 Terraform とは Terraform は、Va

    Terraform と CI で実現するインフラのコード化と構築の自動化 - Qiita
  • Python製負荷試験ツールLocustで、分散負荷試験環境を準備する - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Python製負荷試験ツールLocustで、分散負荷試験環境を準備する - Qiita
  • テストの種類と技法 - Qiita

    単体テスト 単体テストとは,クラスや関数といった単位のプログラムのテストになります, 主に設計通りにこれらが動くかをテストし,論理構造が適切かを確認します. 機能確認テスト 1つのモジュールが設計書や仕様書通りに動作することを確認するテスト 制御フローテスト プログラムの論理構造に沿って,「命令」や「分岐」などが実行されるかを確認するテスト データフローテスト データや変数が「定義」「使用」「消滅」の順に行われているかを確認するテスト 結合テスト 結合テストとは,単体テストで検証したプログラムを組みわせて行うテストになります. 状態遷移テスト 状態遷移図や状態遷移表に基づいて動作を確認するテスト 機能テスト 機能テストとは,結合したプログラムを1つの機能として行うテストです. 機能確認テスト システムテスト システムテストは,個々のプログラムや機能を結合したプログラムが仕様通りに動くかを検

    テストの種類と技法 - Qiita
  • go get で取得したreposのデフォルトremoteパスをhttpsではなくsshにする - Qiita

    go get github.com/hoge/hugaで取得したプロジェクトディレクトリ($GOPATH/src/github.com/hoge/huga)は、remoteパスがデフォルトで https://github.com/hoge/huga になる src/cmd/go/vcs.go のL595 httpsだとpush等の際に毎回パスワードを聞かれて面倒臭い & sshだと~/.ssh/configで管理できる httpsのままで毎回パスワード問い合わせを回避したい場合は、こちらが参考になる git を https 経由で使うときのパスワードを保存する - Qiita go getした際にremoteのデフォルトをsshに変更したい → .gitconfigに下記を追記する

    go get で取得したreposのデフォルトremoteパスをhttpsではなくsshにする - Qiita
  • GKEでHTTP Load Balancerを使う - Qiita

    この記事はGoogle Cloud Platform Advent Calender 2015の12月5日分の記事です 皆さんこんばんは。 Google Container Engine(GKE)使ってますか!? と、いろいろなところで聞いていますが全く手が上がりません。 しかし、使いはじめると必ず「あれ?GKEとHTTP LB連携ってどうやって使うんだ?」という疑問が出てくることでしょう。今回はその先取りです。 というわけで、今回はGKEでHTTP Load Balancer(HTTP LB)を使う方法についてステップバイステップで解説していきたいと思います。 ただし、ここらへんはバージョンアップがとても早いので、常に最新の文章を見るようにしてください。 そもそも[GKE|HTTP LB]って? GKEは、簡単に言ってしまえば、マネージドなKubernetesを提供するGoogle Cl

    GKEでHTTP Load Balancerを使う - Qiita
  • GKEを便利にするGCPのサービス - Qiita

    Google Container EngineとKubernetes Google Container Engine (以下GKE) は Kubernetes (以下k8s) というコンテナ管理アプリケーションを載せた基盤を構築するサービスだ。GKEは Google Cloud Platform (以下GCP) の幾つかのサービスを使って構築されているので、GCPの各サービスの恩恵を受けることができる。このエントリでは、GCPの恩恵によってGKEがより便利になる事柄を紹介する。 k8sとは まずk8sとは何なのか。ここではk8sを使う為に理解すべき事柄を中心に紹介する。 k8sにまつわるよくある勘違い k8sはDockerコンテナを動かすための基盤ではない。Dockerコンテナは手段でしかなく、k8sの質はコンテナをスケーラブルに運用するための基盤である。そのために様々な概念や設定がでて

    GKEを便利にするGCPのサービス - Qiita
  • cAdvisor, InfluxDB, GrafanaでDockerコンテナのリソース監視 - Qiita

    はじめに 1台のDockerホスト上のコンテナのリソース監視はcAdvisorが一般的になっているような気がします。 それでは複数台のDockerホスト上のコンテナのリソース監視はどうするのかなと調べてみると、以下のような方法があるようです。 cAdvisorで直接InfluxDBに保存し、Grafanaで可視化 HeapsterでcAdvisorから情報を収集してInfluxDBに保存し、Grafanaで可視化 cAdvisorからfluentでInfluxDBに保存し、Grafanaで可視化 この記事では一つ目の方法を試してみようと思います。 とりあえず今出てきた登場人物の簡単な紹介とリンク紹介を。 なお、この記事はだいたい3月中旬に書いた内容です。 Dockerコンテナのリソースモニタリングツール Kuberenetesで使うために主にGoogle社が開発したオープンソースソフトウェ

    cAdvisor, InfluxDB, GrafanaでDockerコンテナのリソース監視 - Qiita
  • zshの起動が遅いと感じたら、zprofでプロファイリングしてみる - Qiita

    zshの設定を何も考えずに育てていくと、どんどん起動が遅くなっていくことがある。 最近遅いな、と思ったら、zprofでプロファイリングしてみよう。 まずは、zsh起動時に一番最初に読み込まれる ~/.zshenv の先頭に以下を追記して、zprofを実行。

    zshの起動が遅いと感じたら、zprofでプロファイリングしてみる - Qiita
    strsk
    strsk 2016/01/05
  • pyenvにおけるpythonインストールエラー対処法(BUILD FAILED) - Qiita

    内容 pyenvをインストールし、パスを通し終え、いよいよpythonをインストールしようと喜び勇んで$ pyenv install 3.4.3を実行したところ以下のエラーが発生しました。 $ pyenv install 3.4.3 Downloading Python-3.4.3.tgz... -> https://yyuu.github.io/pythons/4281ff86778db65892c05151d5de738d Installing Python-3.4.3... ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? Please consult to the Wiki page to fix the problem. https://github.com/yyuu/pyenv/

    pyenvにおけるpythonインストールエラー対処法(BUILD FAILED) - Qiita
  • そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita

    Shell Script Advent Calendar 2015 4日目 の投稿です。 以前から自分用にメモしていたものを文字起こししました。 はじめに 仕事でシェルを使い始めて3年くらい経ちました。 途中、pythonruby でスクリプト作ったり、ちょっと zsh に浮気したりしましたが、なんだかんだで今も Bash を使うことが多いです。 この3年間、スーパーシェル芸人(@ebanさん)にご教授頂いたり、Golfしたり(@ebanの影響)、シェル芸勉強会に参加したり(@ebanの影響)してきました。 そんな3年間のまとめとして、シェルスクリプト初めましてだった3年前の私に向けたTips集を書いてみました。 趣旨 各項目ごとに、まず初心者(過去の私がやってた)あるある実装を例示して、その次に、より良さげな実装を例示する構成としています。 実行環境 OS Mac OS X Yos

    そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita