Google Container Engine(GKE)など、クラウドインフラ上でdockerコンテナを動作させる場合、データ確保のため外部ディスクを利用するケースが多々あります。 GKEでは、設定ファイルにpersistentDiskの設定を記述することで、dockerコンテナにpersistentDiskがmountされた状態で起動します。 この場合、外部ストレージのファイルパーミッションが問題となり、コンテナが起動できないトラブルによく遭遇します。 (AWSではためしていませんが、kubernetesではEBSも指定できるので、問題の構造は同様でしょう) 典型的な用途では、mysqlはmysqlユーザー、postgresqlはpostgresユーザーでDBディレクトリを読み書きできる必要があります。 そのため初回起動時にpersistentDiskのファイルオーナーを各ユーザーに変更
kubernetesのインフラ運用の楽な点は、dockerコンテナとサーバーを切り分けて運用できる点です。 dockerのイメージが完成していれば、サーバーのクラスタを指定して起動するだけです。 ハードを交換する場合にも、OSレベルの環境バックアップ・構築はDockerで完結しているため、新しいクラスタを用意してコンテナを起動それば良いので、非常に手早く対応できます。 Google Kubernetes EngineのNode Pool Googleのkubernetesホスティングサービス”Kubernetes Engine”(GKE)は、Node Poolという機能を提供しています。 これはnode(仮想マシン)のグループを作成する機能で、1つのクラスタの中で複数の実行環境を管理するものです。 Google Cloudの多彩なサイズのマシンタイプ(n1-standard, n1-hig
kubernetes(読み方はクバネティス)は、多数のコンテナをクラスターとして一元管理するツールです(kとsの間に8文字あるため、”k8s”と略記されることもあります)。 原語”κυβερνήτης”[ギリシャ語]は「操舵手」の意味で、dockerやコンテナなど船に関連したモチーフをとっています(なお、サイバネティクスも同語源のようです)。 単機能のコンテナをつなげてシステムを組み上げる「オーケストレーション・ツール」と呼ばれる分野の管理ツールで、Googleが主体的に開発に参画しているオープンソース・ソフトウェアです。 dockerは実行環境をポータブルにコンテナ化する機能を持ち、kubernetesはコンテナの稼働継続やコンテナ間ネットワーク、ストレージなどの機能を提供しています。 kubernetesとdocker-composeが競合していましたが、kubernetesがNo.1
サーバサイドのOS環境にはdockerなどの標準的なコンテナ技術を積極的に採用していく方針をとっています。 コンテナを活用することで異種環境を混在させることなく共存させられるため、長期的にはJavaやRuby、PHPといった異なる技術スタックのうえに構築されたアプリケーションを手軽に利用していきたいと考えています。 まず手はじめとして現状の施策としては、ローカルマシン上の開発環境でdockerを利用し、簡易的なWebサーバーを構築するところから着手しています。 ローカルのWebコンテナを動かすことで、主に以下の3点のメリットが得られます。 短期間の作業でパブリッククラウドにシームレスに移行できる 当初からマルチホスト構成で検証を進められる kubernetesなどのオーケストレーション環境への移行パスがある パブリッククラウドへのシームレスな移行 RailsやFuelPHPといったWebア
はじめに DockerでCentOSでRuby2.3.1が動くイメージがないので作った 本投稿はkawasaki.rbのLTで使用したものです @kon_yu 2016/07/27 kawasaki.rb 以下の様な内容を記載しています Docker for macのインストール方法 Dockerfileってどう作るの? ローカル環境で作ったDockerfileを使ってインストール DockerfileをDockerHubへ登録する DockerHubとGithubを連携してDockerfileを登録する Docker for macをインストールする https://docs.docker.com/docker-for-mac/ Get Docker for Mac のボタンを押して、DMGファイルをダウンロードする ダウンローしたファイルをダブルクリックして、インストール インストール
これまでGitHubのプライベートリポジトリを作成するためには有料プランに入る必要がありましたが、2019/1/7から無料プランでもプライベートリポジトリが作成できるようになりました。めでたいですね、パチパチパチ。 個人開発で非公開にしたいコードがあるときに重宝しそうですね。記念に、無料でGitHubのプライベートリポジトリを作成したときのメモを残しておきます。 無料でプライベートリポジトリを作成する方法 GitHubのリポジトリ作成画面で「Private」にチェックを入れてリポジトリを作成するだけです。簡単ですね。 試しに、自分以外のGitHubアカウントで、作成したプライベートリポジトリのURLにアクセスするとエラーページが表示されました。きちんとプライベートリポジトリの設定ができている証拠ですね。 無料でプライベートリポジトリを作成するときの注意点 無料プランでプライベートリポジトリ
1. ConoHa とは VPS(仮想個人サーバー)を提供するサービスをやっているのが ConoHa 。 美雲このは ちゃんがマスコットキャラクターで、なんとキャラクターサイトまであります!。 追う、美雲このはちゃん ( https://conoha.mikumo.com/wallpaper ) こちらを約2年に渡って使ってきたのだけれど、 ひょんなことから ConoHa を捨てて DigitalOcean へ移行しました。 どうして移行したのか。今日はそんなお話。 2. 移行する気はなかった 最初は特に移行する気はなく、 海外のベンチャーがよく使っているという話を聞いて なんとなく DigitalOcean のアカウントを作ったまま放置していました。 最近、Ansible レシピをいちから作り直す際に、(昔のがメンテ出来ないレベルで汚かった) せっかくだから使ってみるか〜と試しに使ってみ
このページでは、デプロイやテストを行う Docker イメージをビルドする方法について説明します。 このページの Docker 実行環境を使った例では、リモート Docker 環境でサービスを開始する方法を紹介します。 現在、リモート Docker 機能の更新作業を行っています。 ユーザーの皆様に実行していただく作業はありません。このページの内容はすべて、段階的に廃止される既存のリモート Docker の実装についての内容です。 すべてのジョブが新しい実装に移行されると、このページの現在の内容は古い情報となり、新しいアーキテクチャに基づく情報に置き換えられます。 新しいアーキテクチャの詳細やこのロールアウトに関する最新の情報は、 Discuss の投稿 (英語)でご確認ください。 Docker 実行環境でデプロイする Docker イメージをビルドするには、セキュリティのために各ビルドに独
前回(MiddlemanでbuildしたコンテンツをCircleCI経由でAmazon S3に同期する)の設定を発展させて、capistranoを加えてリモートホストへデプロイしたいと思います。 とにかく簡単にCircleCIとcapistranoを連携させたかったので、前回同様、必要なモノは少ないです。 今回に関してはMiddlemanでなくても単なる静的コンテンツでもデプロイ可能です。ホストをSSHが使えるレンタルサーバー等にすれば、サーバーの設定も必要なく使えると思います。 手順 Middlemanのプロジェクトを作成(前回参照) さくらVPS側の設定を行う(Webサーバーの設定/SSHの設定) capistranoの設定を行う CircleCIの設定を行う 結果:masterをGitHubにプッシュするとCircleCIのビルドが走り、変更がさくらVPSのサーバーにデプロイされる
この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2015 の投稿記事です。 技術の話よりもMMO(DQX)をずっとしてたいなと思っていますが、こんにちは @soplana です。 タイトルの件みたいな話を最近チーム内で議論し、メンバーが書くRSpecが読みやすくなってきたので記事にしたいと思います。 概要 RSpecは多機能で知れば知るほど奥が深いテストコード用のDSLです。 describe, context, subject, before, it, expect, shared example等沢山の概念・用語が飛び交うので、書き方として何が正しいかよく分からないけど、とりあえずテストコードは書いておかないとな...みたいな気持ちで書いている人も多いのではないかと思います。 このエントリーでは、RSpecの小技の紹介や、概念・用語の説
しばらくDockerで遊んでみて実感したDockerを使うメリットをまとめてみる。 環境を汚さない 開発マシンにいろいろミドルウェアを入れていくと、把握していない依存ライブラリがいろいろインストールされていって精神衛生上よくない。依存ライブラリ周りで問題を起こして「新規ミドルウェアのインストールが出来ない」のような問題が発生する場合がある。 ミドルウェアをDockerコンテナ上にインストールして使うようにすることで、開発マシン環境を綺麗なまま保つことができる。 バージョン違いのミドルウェアの同居で悩まない 平行開発などをしていて、それぞれ異なるバージョンのミドルウェアを要求しているとき、同居インストールできずに困る場合がある。 それぞれ別のDockerコンテナにインストールして使うことで対応できる。 そのままいろんな環境に持っていける(ポータビリティ) テスト環境で動くようになったので、本
git操作自体はgit cuiコマンドで行っているが、差分やtreeを見るためにSource Treeを使っている。 いちいちwindowを切り替えるのもめんどくさくなってきたので、CUI環境で完結出来るならそうしたいと思い検討中。 tigを使うとかなりの部分がGUIクライアントのノリで作業できる。 現在GUIで行っている作業をtigやコマンドでどのように対応するかを検討する。 前準備 brewとかaptとかでtigをインストールする。 tigのmain viewにコミットIDとauthorが表示されていると便利なので設定する 参考) やけに丁寧なtigの設定ガイド(表示制御編) - Qiita ~/.tigrc # main viewの左端にコミットIDを表示する set main-view = id date author commit-title:graph=yes,refs=yes
やけに丁寧なtigの設定ガイド(表示制御編) で予告したキーバインドについての解説を行います。 キーバインドは突き詰めていくと非常に設定量も多く複雑になり難しくなるため、 本記事ではキーバインド設定の概論にスコープを絞ります。 tigのキーバインド規則について tigの基本操作は単一のキー押下に対して割り当てられたアクションを実行するというものです。 一部をhelpビュー ( h で表示されます)から抜粋します。 上記はtigのデフォルト設定に書かれているビューを切り替えるキーバインドです。 キーはcase-sensitiveです。小文字と大文字に独立したアクションになります。 さらに、修飾キーとして Ctrl を使ったコンビネーションをサポートします。 たとえば Ctrl-U はPageUpに割り当てられています。 ただし、option/altといった修飾キーや、 Ctrl-a-b のよ
はじめに コマンドラインで利用できるgitブラウザとして人気のtigですが、 使っていくうちにデフォルトの挙動では物足りなく感じ、.tigrcを利用したカスタマイズをしたくなってきます。 .tigrcをいじると色々なカスタマイズができますが、一度に多くの設定を書いてしまうと、 何が変わったかわかりづらかったり、変更の利点が曖昧になる時もあると思います。 そこで本記事では、.tigrcに関して筆者がオススメする4つの表示制御設定を紹介します。 ただ設定を紹介すると設定4行とコメントだけで終わるので、 スクリーンショットでbefore/afterを比較したり、オススメ理由を書いていきます。 なお、表示されているリポジトリは、本稿執筆時点で筆者が個人的に気になっているプロダクトである favico.js のmasterブランチです。 「やけに丁寧だね!」と読者からコメントをいただけるような内容に
この記事について Livesense(その2) Advent Calendar7日目の記事です。 6日目はI/OスケジューラがMySQLにどの程度影響するのか確認してみると、Simplenote でブックマークレットで GitHub Flavored Markdown (GFM)でした。 はじめに Git便利ですよね。 触り始めた当初は、git status、git add、git commit、git logくらいしか使ってませんでした。 いろんなサブコマンドに興味を持ち始めたのは、git rebaseを知ってからだと思います。 CVSやSubversionからGitに移った私としては、git rebase -iにより気軽にコミットの順番を入れ替えたり、メッセージを変更できることに衝撃を受けた記憶があります。 今回は、あまり知られてないけど(個人調べ)、知っておくと何かと役立つサブコマン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く