Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
 
      
  
 
  
  これは何? Dockerを導入するにあたって、漠然としたイメージしかないという方も多そうなので、 どういうシステムに導入したらいいのか? どういうシステムなら導入しないほうがいいのか? 導入までにどんなことしないといけないのか? をまとめてみました。 つっこみあればお願いします! 対象 下記のような方を対象として記載しています。 Docker自体はなんとなく分かったけど、自分の組織でやった方がいいのかよく分からない 導入の検討しろって言われてるけど、具体的な内容まで落とせない 一般的なコンテナ(Docker)の特徴/メリット パフォーマンス 仮想マシンと比較すると、オーバーヘッドが少なく軽量 起動が高速 再現性、ポータビリティ Dockerが動く環境であれば環境に依存しない 1つのコマンドを実行した状態を再現 ホストと分離できる コードで管理できるのでバージョン管理が可能 ロールバックが容
 
      
  1.目的 細かい設定まで行うことが出来るpostgreSQLのdocker-composeが欲しいので、Docker公式イメージをもとに試してみる。 dockerもpostgresqlも初心者なのでよりよい方法があればご教授お願いしますm(_ _)m Docker導入までは以下を参照。 https://qiita.com/tsnb/items/d10d2770c08abc60b500 2.構築ver.01 公式の説明をもとに書いてみる。 https://docs.docker.com/samples/library/postgres/#environment-variables ver.01でやりたいこと: (A).ロケールを日本語に変更する (B).初期化時にユーザとデータベースを作成する (C).postgresql.confを設定する とりあえず、shared_buffers=256
 
      
  データプラットフォームチームの野本です。機械学習基盤の構築やその周辺アプリケーションの実装を行っています。以前は DOOR 賃貸の開発運用をしていてこんなことなどしてました。 機械学習システム運用の課題 リブセンスでは 2014 年ごろから機械学習システムの開発導入を行っており以降様々な機械学習システムを各サービスに導入してきました。また自社でのデータ分析基盤の運用も行うようになってから機械学習システムの開発の幅が広がり導入の要望も次第に増えてきました。(参考:リブセンスのデータ専門組織のこれまでとこれから) 当初は機械学習システムに対する運用知見などが少なかったため、専用のインフラというものは保持せず各サービスのインフラに相乗りし、サービスのアプリケーションと密に連携し機械学習システムを実装運用することが多かったです。各サービスは元々オンプレミスで運用されていたものが多かったのですが、現
 
      
  はじめに Kubernetes 上のアプリケーションに対して、curl や tcpdump など使い慣れたツールを使ってデバッグを行いたいと思う場合があるかと思います。kubectl exec を利用するとコンテナ内のコマンドを実行することができ、従来 ssh で行っていたデバッグに近いことが可能になります。一方、コンテナには必要最低限のものしか含めないことがベストプラクティスとなっているため、使いたいコマンドが含まれていないこともあるでしょう。 本記事では、kubectl exec を主としたデバッグの方法と、コンテナに使いたいコマンドが含まれていない場合や kubectl exec が利用できない場合の対応方法などについて説明します。確認は Kubernetes v1.8 で行い、コンテナランタイムは Docker を前提としています。 kubectl exec を使ったデバッグ ku
 
      
  本番環境にMicrosoftのPaaSであるAzure SQL Databaseを使っているサービスを想定し、その開発環境をDocker版SQL Serverを使って構築します。 Docker版SQL ServerもMicrosoftが公式に提供しています。良い時代になりました。 前提条件 Docker Client Windows Subsystem for Linux (Ubuntu 16.04.3) 17.12.0-ce Docker Server Docker for Windows 17.09.1-ce RailsをDocker化 まず前提として Docker公式のRails構築クイックスタートなどを参考に、Railsのアプリケーション部分をDockerにしておきます。 (db部分は書き換えるのでSQLiteのままでも構いません) 参考としてDockerfileを掲載します。 F
 
      
  はじめに kubernetesにはinit containerという機能があります。init containerはpodの起動前に実行されるコンテナを定義することができ、例えばpodの作成前にassetsなどの静的ファイルを共有ボリュームに格納させて、nginxで配信するみたいな事ができます。このinit containerですが、kubernetesの1.8以前だと、設定を変更して再度applyしても再作成されないという問題がありました。 対策 以下のissueに書いてあるまんまですが、annotationsにpod.alpha.kubernetes.io/init-containers: nullとpod.beta.kubernetes.io/init-containers: nullを入れることで解決します。 https://github.com/kubernetes/kuberne
 
      
  Microservices Advent Calendar 2017 22日目の記事です。 14日目の記事の最後に、 https://qiita.com/seikoudoku2000/items/9d54f910d6f05cbd556d ちなみに、先日、Austinで開催されていたkubeconでもIstioに関する発表があったようなので、そちらも期待ですね! ということを書いたら、丁度、先週末に動画が大量にアップされたので、 https://www.youtube.com/channel/UCvqbFHwN-nwalWPjPUKpvTA ちょこちょことチェックしたのですが、残念ながらIstioに関するクールなプレゼンは見つけられず、、、 今日はIstioのことを調べている中で知ったMonzo というイギリスの銀行(本当の銀行の業務ライセンスを有している)が使っている Linkerdのこと
 
      
  Elasticsearch, Kibanaはそれぞれ最新のものをpullした。Fluentdは1.20。(このバージョンで動作が確認できたため) Elasticsearchの設定 ServiceとReplocation Controller (controller) を定義する。 Serviceの定義 serviceはL3ロードバランサーみたいなもので、podに対してアクセスを振り分ける機能を持つ。 apiVersion: v1 kind: Service metadata: name: elasticsearch-logging namespace: NAMESPACE labels: k8s-app: elasticsearch-logging kubernetes.io/cluster-service: "true" kubernetes.io/name: "Elasticsearc
 
      
  kubectl apply はオブジェクトが存在しなければ作成し、存在すれば差分を反映してくれる便利なコマンドです。しかし差分の反映は単純な上書きではないので注意が必要です。この記事では Kubernetes Meetup Tokyo #5 で発表した内容をベースに kubectl apply の動作を整理してみました。Kubernetes v1.9.0 で確認をしています。 kubectl apply とは kubectl にはオブジェクトを操作する様々なサブコマンドが用意されています。apply 以外の create, replace などのサブコマンドは、現在のオブジェクトの状態を意識して操作をする必要があります。例えば kubectl create では存在する名前のオブジェクトを再度作ろうとするとエラーになりますし、kubectl replace では存在しないオブジェクトを上書
 
      
  概要 GitLab Runner 1.1 with Autoscalingによると、gitlab-runner自身もスケールできるよ、と。 runnerの環境にいろいろ入れるのは嫌だし、runnnerの環境にDockerを入れてそこで動かすにしても、 メモリやCPUも常時そんなに必要なわけじゃないから、runnner自体は安いインスタンスにしたい。 そう思うのは人情です。 そこで、今回はgitlab-runnerはt2.microの小さいインスタンスで動かし、 実際のビルドは、そこからdocker-machineで作成された先のインスタンス内でやろうと考えたのです。 AmazonLinuxで1からgitlab-runnerを入れ、ビルドできるところまでをステップごとに紹介します。 公式ドキュメントをコピペしていると気づかないつまづきポイントつき! やってみた結果、思ったこと メリット gi
 
      
  このコマンドはコンテナ内のroot権限だけでなく、ホスト側のroot権限も与えてしまうので簡単にバックドアを設置できてしまうのです。(設置するコマンドは調べればすぐに出てきますが流石にコピペできるように書くのはやばいので) また他にもコンテナを--privileged付きで起動しホストの/をマウントしてchrootするというもっと凶悪な手もあります。 元々sudoが使えるのに、何が問題なの? 問題はユーザーが意図的にdockerコマンドを実行した時には発生しません。問題は悪意のあるプログラムがサーバなどに混入した時や、怪しいDockerfileを使用した場合です。 大抵の悪意のあるプログラムは何らかの手段でroot権限を取得しようとしますが、それはゼロデイ脆弱性であったりそもそもの権限のミスであったりしますが、dockerがインストールされている条件下ならばこの方法で権限昇格を狙ってくる場
 
      
   
  
  
概要 ゼットラボではいくつかの CI/CD ツールを利用していますが、その中の一つが Concourse です。Concourse はパイプラインベースの CI/CD ツールで Pivotal により開発されています。Concourse から Kubernetes にアプリケーションをデプロイするための Concourse リソースに我々の要件を満たすものが存在しなかったため、新たに開発し OSS (MIT License) として公開しています。 zlabjp/kubernetes-resource: A Concourse resource for controlling the Kubernetes cluster Kubernetes にどのようにアプリケーションをデプロイするか Kubernetes にアプリケーションをデプロイするには Kubernetes を操作するための C
 
      
  はじめに Admission Controlとは Admission ControlとはKubernetesのAPI Serverのリクエスト制御の機能です。APIリクエストに対して認証、認可を行ったあとのフェーズで、別途そのリクエストを受け入れるか制御を行います。また場合によって、リクエストの変更や別の操作を行います。 プラグイン形式で複数の制御の方法が用意されており、APIの起動オプション--admission-controlで有効にしたいものをカンマ区切りで指定します。 Kubernetes: Admission Controlとは何か 上記エントリは 1.2 時点でのプラグインを紹介していますが、ここでは 1.2 から 1.8 までに新たに追加されたプラグインについて記載します。 プラグイン一覧 DefaultStorageClass DefaultTolerationSecond
 
      
  はじめに この記事はDocker Advent Calendar 2017の13日目の記事です。 コンテナ運用はk8sがデファクトにほぼなったような感じはしますが、オンプレのようなマネージドなk8sが無い環境で、コンテナ化を進めるにあたり、いきなりk8sクラスタを作るというのは敷居が高いです。 そこで、少しづつコンテナ化を始める繋ぎとしてdocker-composeとsystemdを使ってカジュアルにdocker運用してみたので、その際のTipsについて記載します。 ちなみにdocker-composeなので当然サーバ間をまたいだオーケストレーションの層は考えず、単に既存サーバのプロセスをコンテナ化して運用することで、まずはサービスの移植性を高めることを目的としています。 docker-composeだけで運用する際の問題点 サーバ単体で複数のコンテナを連携させるにはdocker-comp
 
      
  この記事はGunosy Advent Calendar 2017の14日目の記事です。 昨日は@harahenikuさんのGoを遅くしないための地味な話でした。 広告技術部の@hoshitocatです。 主な業務はRailsで広告の入稿やレポートのための管理画面の開発をしております。たまにGoで配信側のAPIを触ることがあります。 今回は管理画面でChromeのHeadlessモードを使ったE2Eのテストを導入した話をします。 PhantomJSからChromeへ 私たちはこれまでE2EのテストをPhantomJSを使っていました。 しかし、Javascriptの動作も含めたテストを書いている際に、includes()がPhantomJSだと動作しないことがわかりました。 プロダクトコードをテストコードに合わせて書き直すことも考えましたが、それでは新しく使えるようになった便利な機能をいつま
 
      
  リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く
